Compare commits

...
Author SHA1 Message Date
Andreas Dangel e1cc5d44b5 Prepare release pmd-eclipse-plugin 4.0.2.v20131031-1124 2013-10-31 12:35:23 +01:00
Andreas Dangel 490adf7276 pmd-eclipse: update release procedure 2013-10-31 12:30:13 +01:00
Andreas Dangel 283da27ffe pmd-eclipse: fix #1148 After changing exclude filters violations are not cleared 2013-10-31 12:08:27 +01:00
Andreas Dangel dadf519728 pmd-eclipse: add i18n for the new checkbox 2013-10-30 21:02:51 +01:00
Andreas Dangel 5e6d85ed5c pmd-eclipse: store the global rule management setting 2013-10-30 21:01:26 +01:00
Andreas Dangel e95c1f8460 pmd-eclipse: add checkbox to enable/disable global rule management 2013-10-29 22:27:33 +01:00
Andreas Dangel 71d7b5b7c8 cpd: fix #1144 CPD encoding argument has no effect
Thanks to Peter Bruin
2013-10-29 20:12:01 +01:00
Andreas Dangel 181e130b63 pmd-eclipse: fix rule selection in preferences dialog 2013-10-27 19:04:06 +01:00
Andreas Dangel 963e334cd7 website: use sections 2013-10-26 20:31:27 +02:00
Andreas Dangel d6fc01aad3 website: use foundation for pmd's main website 2013-10-26 19:05:34 +02:00
Andreas Dangel a0dbc1e6df pmd: fix #1123 failure in help examples 2013-10-19 21:13:49 +02:00
Andreas Dangel b9336cb674 pmd: update changelog with new rule PositionLiteralsFirstInCaseInsensitiveComparisons 2013-10-18 19:31:51 +02:00
Andreas Dangel 60de79ab6f Merge branch 'master' of https://github.com/larrydiamond/pmd 2013-10-18 19:27:16 +02:00
Larry Diamond 6627815c27 second shot at adding all this stuff 2013-10-17 15:38:25 -04:00
Larry Diamond a9bfdc1f15 second shot at adding all this stuff 2013-10-17 15:38:13 -04:00
Larry Diamond 7c84050b56 first shot at adding all this stuff 2013-10-17 15:27:19 -04:00
Larry Diamond c6d0a4238a first shot at adding all this stuff 2013-10-17 15:27:14 -04:00
Larry Diamond 0416a8a934 first shot at adding all this stuff 2013-10-17 15:27:03 -04:00
Larry Diamond 3c7d5fe0ce first shot at adding all this stuff 2013-10-17 15:26:52 -04:00
Andreas Dangel 9ae5c754bc pmd: ecmascript ASTTryStatement - deprecated isFinally() and isCatch()
Updated AttributeAxisIterator to ignore deprecated properties.
2013-10-17 20:39:20 +02:00
Andreas Dangel 858308aa8f pmd: fix #1140 public EcmascriptNode getBody(int index) 2013-10-17 20:37:13 +02:00
Larry Diamond 6d5160a857 add PositionLiteralsFirstInCaseInsensitiveComparisons rule
most of this rule is the same as PositionLiteralsFirstInComparisons
2013-10-17 13:38:06 -04:00
Andreas Dangel 32bf09ffd7 pmd: fix #1135 CheckResultSet ignores results set declared outside of try/catch 2013-10-16 20:43:26 +02:00
Andreas Dangel 64ca9b6f01 pmd: fix #1141 ECMAScript: getFinallyBlock() is buggy.
fix #1142 ECMAScript: getCatchClause() is buggy.
2013-10-15 23:20:32 +02:00
Andreas Dangel c1907339b3 pmd-eclipse: fix #1132 plugin does not execute custom xpath rules
Actually changing the behaviour of the global rule preferences,
so that all built-in rules of PMD are active by default and
all "unknown" (aka. custom) rules are active by default, too.
The filtering is therefore adjusted to filter out any inactive
rules rather then retaining the active ones.
2013-10-14 22:01:23 +02:00
Andreas Dangel 2da0cb94f9 pmd: fix #1131 CloseResource should complain if code betwen declaration of resource and try 2013-10-13 19:16:02 +02:00
Andreas Dangel 475e49f68a pmd: verify #1127 False positive: Constructor Calls Overridable Method 2013-10-12 18:42:45 +02:00
Andreas Dangel 74e8e41d15 pmd: fix #1121 NullPointerException when invoking XPathCLI 2013-10-11 19:31:03 +02:00
Andreas Dangel 64e35caa50 pmd: fix #1136 ECAMScript: NullPointerException in getLeft() and getRight() 2013-10-10 11:44:41 +02:00
Andreas Dangel b329e32fcc pmd: fix #1106 PMD 5.0.4 fails with NPE on parsing java enum with inner class instance creation 2013-10-09 23:33:39 +02:00
Andreas Dangel 7fe7695da1 pmd: update changelog for #1130 and correct test case 2013-10-09 22:32:27 +02:00
Andreas Dangel 499520ae9c Merge branch 'master' of https://github.com/albfernandez/pmd 2013-10-09 22:09:08 +02:00
Andreas Dangel a1a736c325 pmd: update changelog for #1134 2013-10-09 22:01:35 +02:00
Andreas Dangel 62e3bcdbad Merge branch 'UseStringBufferLengthEqualsEmptyStringFix' of https://github.com/acanda/pmd 2013-10-09 22:00:33 +02:00
Andreas Dangel 49ee265855 pmd: add test case for #881 2013-10-09 21:49:03 +02:00
Andreas Dangel b90e87b548 Merge branch 'master' of https://github.com/awhitford/pmd into awhitford-master 2013-10-09 21:40:34 +02:00
Andreas Dangel ed60fde269 pmd-cpd: applied patch #272, thanks to Delmas. This adds the "--exclude"
option similar to "--files".
2013-09-29 16:03:10 +02:00
Andreas Dangel 4ad6ecd8d2 pmd-emacs: simplify execution of pmd using wildcard class path
* update default rule names
* update default location of pmd to be ~/pmd
* use compilation-start instead of deprecated compile-internal
2013-09-29 15:12:21 +02:00
Ernst Reissner 0b29963d8c pmd-emacs: update pmd.el to work with PMD 5.0.2 and 5.0.5 2013-09-29 15:12:21 +02:00
alberto a24cbf034b Recognize custom close method #1130 2013-09-21 17:53:06 +02:00
Philip Graf 46620058e2 pmd: fix #1134 UseStringBufferLength false positives 2013-09-19 23:33:17 +02:00
Torsten Kleiber 61aa42f2d1 pmd-jdeveloper: eliminate files from bundle classpath 2013-09-03 21:50:20 +02:00
Torsten Kleiber 28bac21b4f pmd-jdeveloper: update JDeveloper documentation for the website 2013-09-03 20:32:21 +02:00
Torsten Kleiber 9b7d234cae pmd-jdeveloper: eleminate warnings in the extension 2013-09-03 20:31:22 +02:00
Torsten Kleiber 91c0502178 pmd-jdeveloper: Add missing files 2013-09-03 20:18:01 +02:00
Anthony Whitford 16bf1c5c99 Bug 881 - Skipping the setter check for final fields for the BeanMembersShouldSerialize rule. 2013-09-02 11:15:26 -07:00
Torsten Kleiber 2cce739814 Updated PMD version to 5.0.5 for JDeveloper 11.1.1 to 11.1.2 2013-08-29 15:50:53 +02:00
Andreas Dangel e0f664e9f4 pmd: update release procedure to fix #1119 PMD jar missing in pmd-bin-5.0.5.zip 2013-08-12 20:31:09 +02:00
Andreas Dangel 6e55c514ee pmd-eclipse: update release notes and mention release notes in release procedure 2013-08-11 13:27:37 +02:00
Andreas Dangel 617813a6ae pmd-eclipse: fix release notes 2013-08-11 13:21:39 +02:00
Andreas Dangel ba401c1761 pmd-eclipse: Prepare next pmd-eclipse-plugin development version 4.0.2-SNAPSHOT 2013-08-11 13:01:58 +02:00
Andreas Dangel 61dffa5f01 pmd-eclipse: update release procedure 2013-08-11 12:58:46 +02:00
Andreas Dangel 0babfc13ff pmd-eclipse: update to use pmd 5.0.5 2013-08-11 12:55:00 +02:00
Andreas Dangel d0ad6ae6ce pmd: update the release process 2013-08-11 12:49:16 +02:00
Andreas Dangel a7f842c92e pmd: Prepare pmd release 5.0.5 2013-08-11 12:29:13 +02:00
Andreas Dangel 4ccb814cf1 pmd-eclipse: fix #988 Build path exclusions not honored 2013-08-11 00:17:31 +02:00
Andreas Dangel 90590dce93 pmd-eclipse: fix #1070 Properties page: "Rule-Selection" should be disabled if project-local config is selected 2013-08-10 22:59:50 +02:00
Andreas Dangel 99a0c59b98 pmd: fix #1095 AvoidFinalLocalVariable false positive 2013-08-10 21:19:29 +02:00
Andreas Dangel acc799e79d pmd-eclipse: fix #1079 Exclude pattern does not work 2013-08-10 18:36:15 +02:00
Andreas Dangel 97ace24df0 pmd-eclipse: update documentation for reporting bugs. 2013-08-10 18:22:41 +02:00
Andreas Dangel ead58c6f49 pmd-eclipse: fix #1061 PMD Eclipse: How to ... documentation missing
Basically extracted doc.zip and made it available in the eclipse help system.
2013-08-10 18:08:49 +02:00
Andreas Dangel 3677ce0235 pmd-eclipse: add back the PMD icon in eclipse about dialog.
Update feature's about text.
2013-08-10 17:26:47 +02:00
Andreas Dangel 4194855e8c pmd-eclipse: another update site link 2013-08-10 15:24:30 +02:00
Andreas Dangel 4f627b9d43 pmd-eclipse: upgrade tycho to 0.18.1 2013-08-10 15:15:56 +02:00
Andreas Dangel b33075a280 pmd-eclipse: fix #1112 Eclipse log file will not be filled 2013-08-10 15:02:01 +02:00
Andreas Dangel e0cf43a60d pmd-eclipse: active default rules and renderer for a fresh workspace
The rules, that are active by default are the ones from
java-basic, java-imports and java-unusedcode.
The active renderer by default is text.
2013-08-10 15:00:26 +02:00
Andreas Dangel ebe526ca10 pmd-eclipse: fix #1052 right click to add reviewed comment missing 2013-08-10 13:54:52 +02:00
Andreas Dangel 2a3c0a648a pmd-eclipse: discover the language of the file to process to avoid parse exception, if it happens to be not a java file. 2013-08-10 12:24:20 +02:00
Andreas Dangel 2107bef4ee pmd-eclipse: better fix for #1071 Violations are reported multiple times
The markers for a file are now cleared always before new markers are created/added to the file.
2013-08-10 11:13:24 +02:00
Andreas Dangel e1e03f8645 pmd-eclipse: fix #1096 SWTError: No more handles on Violation Outline View
Actually caching the shape images created by ShapePainter instead
of creating always new ones.
2013-08-09 20:16:27 +02:00
Andreas Dangel dd0d435511 pmd (site): execute move-index-and-delete-generated-xdocs ealier, at pre-site.
This is to make jenkin's site archive working.
2013-08-07 21:38:25 +02:00
Andreas Dangel 46f3110bcc pmd-eclipse: update site location 2013-08-07 19:20:14 +02:00
Andreas Dangel e25162b8d5 pmd: fix #1069 Eclipse plugin does not accept project-local config
This is about the RuleSetReferenceId and how we resolve such a
id to a real ruleset.
It is mostly backwards compatible.
2013-08-07 19:20:06 +02:00
Andreas Dangel 9215e37ff4 pmd: fix #1114 CPD - Tokenizer not initialized with requested properties
There was a similar problem with CPD GUI.
Also resetting the properties, so that unchecking the checkboxes has actually an effect.
2013-08-05 08:42:44 +02:00
Andreas Dangel 6bba7d3546 pmd: fix #1091 file extension for fortran seems to be wrong in cpdgui tools 2013-08-03 22:12:19 +02:00
Andreas Dangel e8887e828a pmd: fix #1102 False positive: shift operator parenthesis 2013-08-03 22:05:23 +02:00
Andreas Dangel 78c32afade pmd: fix #1099 UseArraysAsList false positives 2013-08-03 22:00:23 +02:00
Andreas Dangel 8a32b8e8c4 pmd: fixed #1107 PMD 5.0.4 couldn't parse call of parent outer java class method from inner class 2013-08-03 21:38:16 +02:00
Andreas Dangel 2ad3e5152b pmd: fix for comment required rule - class cast exception 2013-08-03 21:30:38 +02:00
Andreas Dangel 1dc6b18fae pmd-eclipse: fix #1071 Violations are reported multiple times 2013-08-03 19:43:55 +02:00
Andreas Dangel 1110318832 pmd: fix #1092 Wrong Attribute "excludemarker" in Ant Task Documentation 2013-08-03 18:57:09 +02:00
Andreas Dangel dc100d00bc pmd: fix #1084 NPE at UselessStringValueOfRule.java:36 2013-08-03 18:50:33 +02:00
Andreas Dangel e47d7cd1c8 Merge pull request #21
Merge branch 'master' of https://github.com/michalborek/pmd into michalborek-master
2013-08-03 18:42:57 +02:00
Andreas Dangel 69348714e4 pmd: fix #1104 IdempotentOperation false positive 2013-08-03 17:53:14 +02:00
Andreas Dangel 390c3778cf pmd: verify #1108 False +: Regression on bug 884 (DCL) 2013-08-03 17:40:34 +02:00
Andreas Dangel 2e5d6c214f pmd: applied #1109 Patch to build with Javacc 5.0 2013-08-03 17:19:53 +02:00
Andreas Dangel bcf567e3b3 pmd: fix #1111 False positive: Useless parentheses 2013-08-03 17:13:38 +02:00
Andreas Dangel ed8497a82d pmd-eclipse: fix #1117 An internal error occurred during: "RenderReport" 2013-08-03 16:45:42 +02:00
Andreas Dangel 98e27294f0 pmd: fix #1115 commentRequiredRule in pmd 5.1 is not working properly 2013-08-03 15:47:38 +02:00
Andreas Dangel 9255e26c70 pmd: fix #1118 ClassCastException in pmd.lang.ecmascript.ast.ASTElementGet 2013-08-03 14:17:11 +02:00
Andreas Dangel 66e8cfc622 pmd: #991 is for 5.0.5 2013-08-03 13:05:57 +02:00
Andreas Dangel a1edabfca3 pmd: fix #1114 CPD - Tokenizer not initialized with requested properties 2013-08-03 12:15:10 +02:00
Andreas Dangel 69c41f451a maven-plugin-pmd-build: fix maven warning about parent path 2013-08-01 21:56:19 +02:00
Andreas Dangel 4f02afb30e pmd: more clover 2013-08-01 21:21:33 +02:00
Andreas Dangel 890dfac22f pmd: correct checkstyle report 2013-08-01 20:31:25 +02:00
Andreas Dangel 9a1829cf1d pmd: remove maven warning about parent pom path 2013-08-01 20:28:45 +02:00
Andreas Dangel fe7ace9507 pmd: take clover into account 2013-08-01 20:28:27 +02:00
U-Michal-Komputer\Michal ffc5b6f2a8 Fixed problem #1110 Selecting non-duplicates during import doesn't work. 2013-07-30 22:40:54 +02:00
Andreas Dangel cdf3d2a9cb pmd: update changelog etc. with new rule ConsecutiveAppendsShouldReuse 2013-07-30 21:00:52 +02:00
Andreas Dangel ff21265893 Merge branch 'master' of https://github.com/jbaris/pmd into jbaris-master
Merges pull request #2.
2013-07-30 20:52:13 +02:00
Andreas Dangel 83bb14e28e pmd-eclipse: update documentation about the "official" update site 2013-07-23 21:37:04 +02:00
Andreas Dangel 1df96cb2e7 pmd-eclipse: fix #1116 PMD Eclipse plugin doesn't analyze project if it has non-existing source folders 2013-07-23 21:36:58 +02:00
Juan Ignacio Barisich 3cb34969eb ConsecutiveAppendsShouldReuse rule 2013-07-19 12:05:24 -03:00
Juan Ignacio Barisich bef2183dc7 ConsecutiveAppendsShouldReuse rule 2013-07-19 12:02:37 -03:00
Andreas Dangel 989672f8fb pmd: update changelog for new rule AvoidProtectedMethodInFinalClassNotExtending 2013-06-22 17:25:14 +02:00
Andreas Dangel 090f2af516 Merge pull request #19
Merge branch 'master' of https://github.com/frizbog/pmd into frizbog-master
2013-06-22 17:12:32 +02:00
Andreas Dangel 559d72a9fe cpd: update changelog and site for new command line option 2013-06-22 17:11:41 +02:00
Pelisse Romain 97762a57ba Merge pull request #20 from farmaazon/master
Possibility of non-scanning subdirectories in CPD command line interface
2013-05-22 15:27:46 -07:00
Adam Obuchowicz d176e8b51c pmd/cpd: Added non-recursive option 2013-05-21 14:01:28 +02:00
Matt Harrah (frizbog) 44e7bb6354 New rule: AvoidProtectedMethodsInFinalClassNotExtending 2013-05-17 10:21:37 -04:00
Andreas Dangel 95e0c7bca2 pmd-eclipse: update release howto, remove jgit timestamp provider
* the jgit timestamp provider wasn't of much help: For releases
we set the version manually anyway. While developing it's confusing
if you forget to commit locally first and build right away.
2013-05-10 10:59:06 +02:00
Andreas Dangel 914a1a771e pmd-eclipse: Prepare next pmd-eclipse-plugin development version 4.0.1-SNAPSHOT 2013-05-10 10:02:03 +02:00
Andreas Dangel 73aa908c69 pmd-eclipse: add release notes 2013-05-10 09:56:41 +02:00
Andreas Dangel a3550d17ec pmd-eclipse: update copyright years 2013-05-09 20:13:17 +02:00
Andreas Dangel 7f08a8f7c4 pmd-eclipse: add about section in preferences to display the plugin's version and the used PMD version. 2013-05-09 20:03:06 +02:00
Andreas Dangel dcd2ac2166 pmd-eclipse: upgrade to pmd 5.0.4 2013-05-09 18:17:39 +02:00
Hooperbloob 45d6a710bc Merge pull request #18 from adangel/eclipse-tycho
Use Maven Tycho to build pmd-eclipse-plugin
2013-05-04 17:47:34 -07:00
Andreas Dangel 3cc3c6993b Update readme 2013-05-01 14:56:22 +02:00
Andreas Dangel 3b49640920 pmd: added missing 5.0.3 release links to the website 2013-05-01 14:11:40 +02:00
Andreas Dangel ae5ae2646e pmd: Prepare pmd release 5.0.4 2013-05-01 11:58:01 +02:00
Andreas Dangel 850d7bfd00 pmd: fix #1089 When changing priority in a custom ruleset, violations reported twice 2013-05-01 11:32:39 +02:00
Andreas Dangel 25777937c2 pmd: fix #794 False positive on PreserveStackTrace with anonymous inner 2013-04-28 10:13:21 +02:00
Andreas Dangel 2a161c533c pmd: fix #1063 False+: ArrayIsStoredDirectly 2013-04-28 10:13:16 +02:00
Andreas Dangel 2aad65138a pmd: let failing rules fail the unit tests again
so that we can early detect any introduced exceptions (like NPE).
2013-04-27 10:03:10 +02:00
Andreas Dangel 66fed8d9cc pmd: fix #1085 NullPointerException by at net.sourceforge.pmd.lang.java.rule.design.GodClassRule.visit(GodClassRule.java:313) 2013-04-25 19:11:01 +02:00
Andreas Dangel e1b8334e5e pmd: fix #1087 PreserveStackTrace (still) ignores initCause()
one more test, extended documentation example
2013-04-25 18:35:06 +02:00
Andreas Dangel 8cf1cc4113 pmd: fix #1087 PreserveStackTrace (still) ignores initCause() 2013-04-24 21:29:18 +02:00
Andreas Dangel 29b294e2b1 pmd: fix #1086 Unsupported Element and Attribute in Ant Task Example 2013-04-22 20:23:13 +02:00
Andreas Dangel c66c01e0ce pmd-eclipse: add missing export for net.sourceforge.pmd.lang.rule, needed by m2e-code-quality 2013-04-21 19:45:10 +02:00
Andreas Dangel 8d3ed164fb pmd-eclipse: Use last stable PMD version 5.0.3. 2013-04-21 16:31:09 +02:00
Andreas Dangel 7e8f558263 pmd-eclipse: Document build and release process for the pmd-eclipse-plugin 2013-04-21 16:31:08 +02:00
Andreas Dangel 4c9e714380 pmd-eclipse: Prepare release and publish of the eclipse update site. 2013-04-21 16:31:08 +02:00
Andreas Dangel 75503ffa40 pmd-eclipse: Renaming the source folders to use default locations for src and target. 2013-04-21 16:31:08 +02:00
Andreas Dangel 02a723391d pmd-eclipse: Renaming the folders and submodules according to their artifact id. 2013-04-21 16:31:07 +02:00
Andreas Dangel 25c47c651c pmd-eclipse: Delete obsolete build files. 2013-04-21 16:31:06 +02:00
Andreas Dangel 36b0d87186 pmd-eclipse: Update tests and disable the tests that need an OSGI context.
tycho-surefire is completely disabled now and only the simple junit tests
are enabled.
2013-04-21 16:31:06 +02:00
Andreas Dangel 396509e75a pmd-eclipse: Added dependency plugin to fetch required dependencies for pmd.
Removed the jar files from the repo.
2013-04-21 16:31:06 +02:00
Andreas Dangel 3443fe549b pmd-eclipse: Added tycho configuration and delete eclipse project files 2013-04-21 16:30:59 +02:00
Andreas Dangel 144a4e152d pmd: fix #254 False+ : UnusedImport with Javadoc @throws 2013-04-15 21:33:49 +02:00
Andreas Dangel 60aa0b1778 pmd: correct documentation for pmd's ant task to select the language
and adding more unit tests.
2013-04-15 21:00:14 +02:00
Andreas Dangel 37a4144bc6 Updated website with new project description. Added "Fork me on github" ribbon. 2013-04-14 18:31:41 +02:00
Andreas Dangel 030eb40e01 pmd: fix #1080 net.sourceforge.pmd.cpd.CPDTest test failing
The symlinks are simply removed now from the source code and
created by the test, when needed.
The test runs only under unix systems, not under windows.
2013-04-14 17:26:50 +02:00
Andreas Dangel 4be223bde4 pmd: adding more entries to gitignore and to exclude while creating the source zip file. 2013-04-14 17:01:56 +02:00
Andreas Dangel bd5ec60a9f pmd: fix #1082 CPD performance issue on larger projects 2013-04-14 13:33:00 +02:00
Andreas Dangel cfa21c106c pmd: fix #1081 Regression: CPD skipping all files when using relative paths 2013-04-12 23:02:40 +02:00
Andreas Dangel 0d9d09b9dd pmd: improve release documentation 2013-04-05 20:45:41 +02:00
Andreas Dangel 159d9523db pmd: correct the command line examples 2013-04-05 19:19:30 +02:00
Andreas Dangel 503b41e40f pmd: prepare pmd release 5.0.3 2013-04-05 18:48:02 +02:00
Andreas Dangel 0dc8d20800 pmd: use the released pmd-build plugin 0.8 2013-04-05 18:26:17 +02:00
Andreas Dangel f9484aa2d2 [maven-release-plugin] prepare for next development iteration 2013-04-05 18:17:20 +02:00
Andreas Dangel 0631ef98fd [maven-release-plugin] prepare release pmd-build/0.8 2013-04-05 18:17:20 +02:00
Andreas Dangel 524fd6fe43 pmd: fix NPE in LooseCouplingRule 2013-04-05 17:36:12 +02:00
Andreas Dangel 075f0181d6 pmd: fix #1078 Package statement introduces false positive UnnecessaryFullyQualifiedName violation 2013-04-05 17:11:30 +02:00
Andreas Dangel 51aca91330 pmd-eclipse: Fix compile errors after updating to latest PMD 5.1.0-SNAPSHOT. 2013-04-01 10:51:56 +02:00
Andreas Dangel 02dbbe2673 pmd-eclipse: new PMD snapshot jar 2013-03-31 18:51:18 +02:00
Andreas Dangel c91981ec65 pmd-eclipse - eclipse project configuration 2013-03-31 15:08:47 +02:00
Andreas Dangel 039d65fcc2 Merge branch 'master' of https://github.com/twh270/pmd 2013-03-31 14:24:58 +02:00
Andreas Dangel 2ab7b9e698 pmd-eclipse: update version numbers 2013-03-31 14:21:28 +02:00
Andreas Dangel 6fb192e584 Merge branch 'master' of https://github.com/hooperbloob/pmd into hooperbloob-master 2013-03-31 09:48:34 +02:00
Andreas Dangel 56339a6c58 Merge pull request #16 from acanda/ASTFormalParameterVariableName 2013-03-30 19:09:13 +01:00
Andreas Dangel 5f70b65afa Merge pull request #17 from acanda/IterableReportTree 2013-03-30 18:46:18 +01:00
Andreas Dangel e1c327d76f pmd: fix version numbers for new logging rules. 2013-03-30 18:33:31 +01:00
Andreas Dangel 57e331f90e pmd: add tests for CommentRequiredRule. 2013-03-30 18:33:12 +01:00
Andreas Dangel 29c178037a Merge pull request #14 from snajberk/master 2013-03-30 17:16:10 +01:00
Andreas Dangel 1907c6d9e8 pmd: fix #1077 Missing JavaDocs for Xref-Test Files 2013-03-30 15:44:44 +01:00
Andreas Dangel 7c440fd42e pmd: verify #937 OptimizableToArrayCall does not catch multilevel method chains 2013-03-30 15:25:03 +01:00
Andreas Dangel f0d8759b79 pmd: fix #938 False positive on LooseCoupling for overriding methods 2013-03-30 15:04:47 +01:00
Andreas Dangel 5d1d82919c pmd: verify #939 Jsp parser fails on $ 2013-03-30 14:27:32 +01:00
Andreas Dangel ca10969400 pmd: fix #940 False positive on UnsynchronizedStaticDateFormatter 2013-03-30 14:10:11 +01:00
Andreas Dangel 9b7562cd23 pmd: fix #942 CheckResultSet False Positive
* replacing the xpath rule with a java based rule implementation
2013-03-30 13:58:12 +01:00
Andreas Dangel be4c1adce6 pmd: fix #943 PreserveStackTrace false positive if a StringBuffer exists 2013-03-30 11:50:57 +01:00
Andreas Dangel 89e005fe49 pmd: fix #945 PMD generates RuleSets it cannot read. 2013-03-30 11:50:45 +01:00
Andreas Dangel b034dfb2d8 pmd: fix #958 Intermittent NullPointerException while loading XPath node attributes
* synchronizing the method cache
 * adding additional null check
2013-03-30 09:25:04 +01:00
Andreas Dangel 0e44680981 formatting, white spaces 2013-03-30 09:06:18 +01:00
Andreas Dangel c345f82968 pmd: verify #959 StringToString False Positive 2013-03-30 08:59:12 +01:00
Philip Graf 41705f17da Make Report implement Iterable<RuleViolation>
With this change we can easily iterate over a Report using the
for-each loop of Java 5 instead of using Report.iterator().
Also the @Override annotation has been added to Report.iterator() and
ReportTree.iterator() as PMD switched to Java 6.
2013-03-30 01:28:31 +01:00
Andreas Dangel 90d901c4bf pmd: verify #998 False positive ClassCastExceptionWithToArray with generics 2013-03-29 16:02:05 +01:00
Thomas Wheeler 61decdc6cb Merge remote-tracking branch 'pmd-branch/master' into merge-pmd-branch 2013-03-27 10:11:58 -05:00
Andreas Dangel abf8f3297b pmd: update changelog, verify #1076 2013-03-24 20:33:54 +01:00
Andreas Dangel 470c6b9c38 Merge branch 'ViolationNodeEqualsNode' of https://github.com/acanda/pmd into acanda-ViolationNodeEqualsNode 2013-03-24 20:09:46 +01:00
Andreas Dangel d9aefc7949 pmd: update changelog 2013-03-24 20:05:56 +01:00
Philip Graf f5a5b6cd48 pmd: fix #1076 Report.treeIterator() does not return all violations
The cause of the bug was the implementation of
ViolationNode.equalsNode(otherNode) which returned true when two
different violations start on the same line.

Note: this change also adds a maven dependency on Mockito 1.9.5 (scope:
test). Mockito helps creating mock objects and makes the test more
readable.
2013-03-24 17:53:40 +01:00
Philip Graf 46a57aa3ab Make ReportTree implement Iterable<RuleViolation>
With this change we can easily iterate over a ReportTree using the
for-each loop of Java 5 instead of using ReportTree.iterator().
2013-03-24 11:48:39 +01:00
Philip Graf 8dc8607102 Set variableName for a java violation with an ASTFormalParameter node
Extends JavaRuleViolation to also set the member "variableName" when the
provided node is of type ASTFormalParameter.
2013-03-24 11:48:27 +01:00
Pelisse Romain 36c8a31cd2 Merge pull request #14 from codecop/NPEx-JSP-Master
Nice catch ! Thanks for the fix !!!
2013-03-23 07:52:04 -07:00
Peter Kofler 59e7c2dd0c fix Nullpointer Exception when using -l jsp 2013-03-23 15:42:02 +01:00
Andreas Dangel d24a2651cb pmd: fix #1027 PMD Ant: java.lang.ClassCastException 2013-03-17 11:59:00 +01:00
Andreas Dangel 2f53a3e795 pmd: fix #999 Law of Demeter: False positives and negatives 2013-03-17 11:03:02 +01:00
Andreas Dangel c8bf5d46a8 pmd: fix #975 false positive in ClassCastExceptionWithToArray 2013-03-17 10:11:02 +01:00
Andreas Dangel d7bdb79cdd pmd: fix #968 Issues with JUnit4 @Test annotation with expected exception
Thanks to Yiannis Paschalidis
2013-03-17 09:56:02 +01:00
Andreas Dangel 7947282704 pmd: verify #962 MethodReturnsInternalArray: False positive using a ternary operator 2013-03-16 22:09:36 +01:00
Andreas Dangel 4388806404 pmd: fix #976 UselessStringValueOf wrong when appending character arrays 2013-03-16 19:51:06 +01:00
Andreas Dangel 8ea9d29f31 pmd: fix #977 MisplacedNullCheck makes false positives 2013-03-16 19:17:48 +01:00
Andreas Dangel 72d07a8e7e pmd: fix #985 Suppressed methods shouldn't affect avg CyclomaticComplexity 2013-03-16 18:09:25 +01:00
Andreas Dangel c3e148174c pmd: fix #984 Cyclomatic complexity should treat constructors like methods 2013-03-16 17:15:40 +01:00
Andreas Dangel 22a2db080f pmd (site): add links to the rules from the rule index page 2013-03-16 15:22:31 +01:00
Andreas Dangel 0125e7a03b pmd (site): add missing default values of properties for documentation 2013-03-16 13:58:32 +01:00
Andreas Dangel 370ed23e01 pmd: fix #991 AvoidSynchronizedAtMethodLevel for static methods 2013-03-16 12:22:10 +01:00
Andreas Dangel dcaf06303c pmd: fix #997 Rule NonThreadSafeSingleton gives analysis problem 2013-03-16 12:05:05 +01:00
Andreas Dangel 54cab5de42 pmd: fix #992 Class java.beans.Statement triggered in CloseResource rule 2013-03-16 11:40:15 +01:00
Andreas Dangel bb083a7685 pmd: fix NPE in ConstructorCallsOverridableMethodRule 2013-03-15 21:54:02 +01:00
Andreas Dangel ea06bd063f pmd: switch to java 1.6
we already depend on it, e.g. jcommander requires a java 1.6 JRE
2013-03-15 21:49:28 +01:00
Andreas Dangel 7ae1e9c6dc pmd: fix #1032 ImmutableField Rule: Private field in inner class gives false positive
Improved symbol table resolution to check inner classes, too.
2013-03-15 21:37:02 +01:00
Andreas Dangel 2c5b6e1fdb pmd: verify #254 False+ : UnusedImport with Javadoc @link 2013-03-14 21:47:06 +01:00
Andreas Dangel 0739c2f601 pmd: fix #1005 False + for ConstructorCallsOverridableMethod - overloaded methods
It won't be perfect, but for constructor calls and method calls a
simple check of the argument types is done. Primitive types are
distinguished, reference types not.
In order to support all cases, full symbol resolution is needed.
2013-03-14 20:48:05 +01:00
Andreas Dangel 3ce242c179 pmd: cleanup design test cases 2013-03-13 20:31:33 +01:00
Andreas Dangel 3bf8eb9d1f pmd: #1002 False +: FinalFieldCouldBeStatic on inner class 2013-03-13 20:02:22 +01:00
Andreas Dangel 511fd6fb58 pmd: fix #1073 Hard coded violation messages CommentSize 2013-03-10 09:48:11 +01:00
Andreas Dangel 4f1cfd6125 pmd: fix #1074 rule priority doesn't work on group definitions
and verify #1067 Custom Ruleset doesn't import the complete ruleset anymore by reference
2013-03-09 17:51:06 +01:00
Andreas Dangel 6426deca6b pmd: add versions maven plugin 2013-03-05 22:32:53 +01:00
Andreas Dangel 5b3405d93b pmd: fix changelog version info 2013-03-05 22:32:44 +01:00
Andreas Dangel 9623d61310 pmd: fixed #1064 Exception running PrematureDeclaration 2013-03-05 22:30:03 +01:00
Romain PELISSE d675790e58 Redesign GuardLogStatement:
Turns out that the implementation based on the one published by Heiko Rupp
could simply not catch all the case in our test suite. I therefore opted to
backport the previous implementation - a simple Xpath rule, from GuardDebugLogStmt
into a java class.
Performance are not as good as the one based on Heiko's proposal, but it still
twice faster as the simple GuardDebogLogStmt (instead of five times faster). However,
correctness is in this case more important.
2013-03-03 19:19:51 -05:00
Romain PELISSE bac738c01a GuardLogStatement: small docs fixes 2013-03-01 18:29:48 -07:00
Romain PELISSE 6576056eaf Merge changelog 2013-03-01 18:20:44 -07:00
Romain PELISSE 42d51ad423 Enhance GuardDebugLogging:
- replace xpath implementation by newly created GuardLogStatementRule
- increase performance by 5 (from 0.5s to 0.1s)
2013-03-01 18:19:31 -07:00
Romain PELISSE f2f31990aa Enhance GuardLogStatement:
- add property support to specify which statement needs to be checked
- move out of the java logging to be placed in logging-jakarta
2013-03-01 18:19:31 -07:00
Romain PELISSE 4bce034c33 Add GuardLogStatement
Based on Heiko Rupp implemetation: http://pilhuhn.blogspot.com/2008/09/pmd-rule-to-check-for-unguarded.html
2013-03-01 13:34:00 -07:00
Andreas Dangel 45d10aaa7c pmd: fixed #1068 CPD fails on broken symbolic links 2013-03-01 19:52:41 +01:00
Andreas Dangel d9f8e62d3c pmd: verify #1047 False Positive in 'for' loops for LocalVariableCouldBeFinal 2013-03-01 19:06:01 +01:00
Romain PELISSE a90e9fed0b Add new ecmascript rules to changelog 2013-02-28 16:34:48 -07:00
Romain PELISSE c36b3c47c9 ecmascript: UseBaseWithParseInt
Add a new rule called UseBaseWithParseInt in the basic
new ruleset, for EcmaScript.

Done while during the Java Posse Round up 2013 workshop:
'Make Javascript a better world with PMD'
2013-02-28 16:34:27 -07:00
Romain PELISSE 148a1016fb ecmascript: AvoidWithStatement
Add a new rule called AvoidWithStatement along with a
new ruleset, Controversial, for EcmaScript.

Done while during the Java Posse Round up 2013 workshop:
'Make Javascript a better world with PMD'
2013-02-28 16:18:41 -07:00
Jaroslav Snajberk 2a01a33f79 Missed bug #1048
I missed bug #1048 fix and used older version.
2013-02-15 11:43:05 +01:00
Jaroslav Snajberk b49ea5a923 CommentRequiredRule implementation
This is implementation of missing CommentRequiredRule. First it uses
AbstractCommentRule to pair comments with declarations, later it checks
presence of comments in these declarations.
2013-02-15 09:29:32 +01:00
Andreas Dangel 7712690d55 pmd: update release docu 2013-02-03 19:20:18 +01:00
Andreas Dangel 3438796471 pmd: update website for 5.0.2 2013-02-03 19:19:58 +01:00
Andreas Dangel 5e522fccd1 pmd: set release date for 5.0.2 2013-02-03 18:26:21 +01:00
Andreas Dangel c3f3adbd4c pmd: update changelog for 5.0.2/5.1.0 2013-02-03 15:30:20 +01:00
Andreas Dangel b0e6810b58 pmd: verify empty if statement example 2013-02-03 15:18:52 +01:00
Torsten Kleiber 0524752248 Fix for bug #1056 "Error while processing" while running on xml file with DOCTYPE reference
Change the initial value of XINCLUDE_AWARE_DESCRIPTOR to false
This does validate an invalid doctype reference as in some ide generated xml files exist.
Any xml rule, which needs this property should overwrite this value with true.
2013-01-31 21:52:13 +01:00
Romain PELISSE db05bcb8a7 pmd: AntTask support for language
- fix  #1004 targetjdk isn't attribute of PMD task
- introduce a new element, called <language>, that replaces the already existing <version/> element
2013-01-29 12:22:08 +01:00
Romain PELISSE 9954f1d8e1 pmd: fix typo in ReadMe.txt 2013-01-28 00:54:18 +01:00
Romain PELISSE b1cae214cd pmd: fix #1004 targetjdk isn't attribute of PMD task 2013-01-28 00:53:41 +01:00
Romain PELISSE 5ffb5bc8c2 Merge branch 'master' of github.com:pmd/pmd 2013-01-26 20:23:50 +01:00
Romain PELISSE 167c4da9ba pmd: fix #1049 Errors in "How to write a rule" 2013-01-26 20:23:36 +01:00
Andreas Dangel 302bfe41fd pmd: configure surefire to run tests in alphabetical order, so that test failure are better reproducible 2013-01-26 20:03:39 +01:00
Andreas Dangel 6e01b91a73 pmd: fix #1030 CPD Java.lang.IndexOutOfBoundsException: Index: 2013-01-26 20:01:14 +01:00
Andreas Dangel 3f10a9ecb8 pmd: verify #946 ImmutableField false + 2013-01-26 15:50:56 +01:00
Andreas Dangel c2a20a9337 pmd: fixed #947 CloseResource rule fails if field is marked with annotation 2013-01-26 15:43:46 +01:00
Andreas Dangel ddb5c23926 pmd: verify #956 PMD Parse Exception 2013-01-26 15:34:20 +01:00
Andreas Dangel 45e2caae20 pmd: verify #1029 No instance level check in the close resource rule 2013-01-26 15:27:55 +01:00
Andreas Dangel 49b8e206d0 pmd: fixed #1011 CloseResource Rule ignores Constructors 2013-01-26 15:25:05 +01:00
Andreas Dangel 0344555956 pmd: fixed #1007 Parse Exception with annotation 2013-01-26 14:28:29 +01:00
Andreas Dangel c5ed215332 pmd: fixed #1046 ant task CPDTask doesn't accept ecmascript 2013-01-26 12:08:41 +01:00
Andreas Dangel cbadb87c0a pmd: fixed #1039 pmd-nicerhtml.xsl is packaged in wrong location 2013-01-26 11:45:21 +01:00
Andreas Dangel ebe8e5a5b5 pmd website: add fallback redirect to pmd-4.3.0 2013-01-26 11:14:20 +01:00
Andreas Dangel 4c4adcfdb8 pmd: update rule-guidelines to changed package names 2013-01-26 10:38:58 +01:00
Andreas Dangel 106ef1b1c4 pmd: fixed #1028 False-positive: Compare objects with equals for Enums 2013-01-24 19:28:17 +01:00
Andreas Dangel bf087132f8 pmd: verify #1020 Parsing Error 2013-01-24 18:59:07 +01:00
Andreas Dangel 721f79268f pmd: fixed #913 SignatureDeclareThrowsException is raised twice 2013-01-23 21:44:32 +01:00
Andreas Dangel 08a04bd16b pmd: fixed #878 False positive: UnusedFormalParameter for abstract methods 2013-01-23 21:24:36 +01:00
Andreas Dangel 77a6802621 pmd: fixed #1055 Please add a colon in the ant output after line,column for Oracle JDeveloper IDE usage 2013-01-21 21:18:18 +01:00
Andreas Dangel 83cbf65bdb pmd: verify #1057 False positive for UnnecessaryWrapperObjectCreation 2013-01-21 20:40:46 +01:00
Andreas Dangel b4db0afedd pmd: verify #1058 False positive for VariableNamingConventions 2013-01-19 19:25:22 +01:00
Andreas Dangel 4b0449fcf3 pmd: fixed #1059 Change rule name "Use Singleton" should be "Use Utility class" 2013-01-19 19:10:34 +01:00
Andreas Dangel a5e0dc9c7b pmd: fixed bug #1012 False positive: Useless parentheses. 2013-01-19 18:49:19 +01:00
Andreas Dangel 10a38d44f4 pmd: fixed #1060 GodClassRule >>> wrong method 2013-01-19 18:28:33 +01:00
Andreas Dangel c40fe0b7fb Removed pmd-jedit. JEdit's PMD Plugin has moved into an own repository at jedit.sf.net.
See http://jedit.git.sourceforge.net/git/gitweb.cgi?p=jedit/PMDPlugin;a=summary
2013-01-13 19:31:07 +01:00
Andreas Dangel 85d301bb86 Revert "merge from master"
This reverts commit df199cd2a0.
2013-01-13 19:17:44 +01:00
Philip Graf 7fd86d9fdd pmd: fix ignored property minimumLength of rule AvoidDuplicateLiterals
The rule AvoidDuplicateLiterals ignores its property minimumLength
because it is set not until after the source code has been analyzed.
This change sets the property before the analysis.
2013-01-04 02:07:10 +01:00
Dale Anson 473f5605b0 Documentation and javadoc updates. 2013-01-01 12:19:21 -07:00
Dale Anson d56bd5b8a0 Added service for status bar to automatically install the progress bar. 2013-01-01 12:17:58 -07:00
Dale Anson 1977db4c0e Bumped version number to 5.0.1 to match PMD version, added dependency on rhino plugin so ecmascript processing works. 2013-01-01 12:16:49 -07:00
Dale Anson aae0561e7c Use jEdit service API for progress bar widget, better thread handling for updating progress bar. 2013-01-01 12:16:23 -07:00
Dale Anson df199cd2a0 merge from master 2012-12-26 16:54:39 -07:00
Dale Anson e4c29d2ab5 Option pane update, removed language selector since it's no longer necessary, added option to clear error list on save. 2012-12-26 16:45:20 -07:00
Dale Anson fd45371dbf Integration with PMD 5.1. 2012-12-26 16:20:26 -07:00
Andreas Dangel 28a663707c pmd: minor fixes for CPD CLI 2012-12-22 09:34:04 +01:00
Romain PELISSE a7e4a11963 Merge branch 'master' of github.com:pmd/pmd 2012-12-21 20:18:40 +01:00
Romain PELISSE 5dc9cbc324 pmd: rework CPD CLI to use jcommander 2012-12-21 20:17:47 +01:00
Romain PELISSE 6de8aa5e06 pmd: Add CPD AntTask tests 2012-12-21 20:17:47 +01:00
Romain PELISSE dd754cb808 pmd: AntTask Tests helper
As a workaround is needed to have the AntTask related to work in Maven
I've moved it into a separate abstract class that will be shared betweeen
the PMD AntTask tests and the upcoming CPD AntTask tests.
2012-12-21 20:15:29 +01:00
Romain PELISSE 5eb160de5b pmd: removed unused imports 2012-12-21 17:50:33 +01:00
Romain PELISSE 64ebd6e259 ReadMe: disable clover, build quick release 2012-12-21 16:18:36 +01:00
Dale Anson dbc74fd5ee Better handling for ErrorList, use an error source per view. 2012-12-17 14:17:33 -07:00
Andreas Dangel 9756526adb pmd: fix #1037 Facing a showstopper issue in PMD Report Class
* wrapping the report listeners in a thread safe (synchronized) class
 * overtaking the listeners for each thread / report
2012-12-17 10:51:19 +01:00
Andreas Dangel e34ac7dd8c pmd: fixed #1026 PMD doesn't handle 'value =' in SuppressWarnings annotation 2012-12-16 23:10:17 +01:00
Andreas Dangel ca4393fd18 pmd: verify bug #1018 - it's fixed already 2012-12-16 22:09:45 +01:00
Andreas Dangel aed0478411 pmd: refactor to use apache's commons-io instead of our own IOUtil. 2012-12-16 18:16:13 +01:00
Andreas Dangel f9826bcfc7 pmd: fix #1043 node.getEndLine() always returns 0 (ECMAscript)
* added commons-io dependency
 * added a SourceCodePositioner to calculate line/column from position
2012-12-16 18:15:34 +01:00
Andreas Dangel 48e6520912 pmd: fix #1047 False Positive in 'for' loops for LocalVariableCouldBeFinal in 5.0.1 2012-12-16 12:06:09 +01:00
Andreas Dangel 58c9deab49 pmd: update java grammer changelog 2012-12-16 11:57:44 +01:00
Andreas Dangel fe63763e4c pmd: add check for multiple exception catching in java 1.7 2012-12-14 21:42:39 +01:00
Andreas Dangel ee3ac17273 pmd site: switch to fluido skin 2012-12-14 19:58:46 +01:00
Andreas Dangel a50b084ce2 pmd: updated logo - thanks to Simon Gijsen 2012-12-14 16:41:22 +01:00
Andreas Dangel d47e68e370 pmd: Fixed bug 1048: CommentContent Rule, String Index out of range Exception 2012-12-07 10:49:39 +01:00
Andreas Dangel 7515448393 pmd: CLI - make sure we display the usage help text
Therefore make the -h option a help option.
Make the auxclasspath option description look nicer - newlines break the layout.
Always display the jcommander usage help text.
And exit with an error code in case there are parameter errors.
2012-12-05 21:58:39 +01:00
Andreas Dangel 835e696ec5 pmd: fix bug #1044 - update suppressing documentation with new cli paramter name 2012-12-05 21:51:05 +01:00
Andreas Dangel 53787b6336 pmd: prepare release 5.0.1 (cherry-picked)
commit a66bbf2193
2012-11-30 20:58:26 +01:00
Andreas Dangel d57e4cf1ec pmd website: update for new release 5.0.1 2012-11-29 19:21:53 +01:00
Romain PELISSE 5c5c6e6e46 site: add missing information on release 2012-11-28 22:42:13 +01:00
Romain PELISSE 5eae70ec3f doc: update release process to use new CLI syntax 2012-11-28 21:40:59 +01:00
Andreas Dangel 46f6cc1888 pmd: fix failing unit test 2012-11-28 21:28:05 +01:00
Pelisse Romain 9fcc0a5c5f Merge pull request #11 from rsalvador/PMDASTClassLoader
Reuse PMDASMClassLoader instance across all compilation units analyzed.
2012-11-28 11:17:09 -08:00
Andreas Dangel ec9725bbda pmd: update changelog, add contributor info 2012-11-28 20:10:35 +01:00
Andreas Dangel 9a83980ff8 Merge remote-tracking branch 'adangel/cpd-suppression' 2012-11-28 20:08:33 +01:00
Andreas Dangel c3bf059fa4 Merge remote-tracking branch 'adangel/cstokenizer' 2012-11-28 20:07:10 +01:00
Andreas Dangel 4ec958197c Merge branch 'master' 2012-11-28 20:05:25 +01:00
rsalvador 9e4858b8c2 Reuse PMDASMClassLoader instance across all compilation units analyzed. 2012-11-28 10:08:43 -08:00
Romain PELISSE 14ea3c509d Merge branch 'fault-tolerant' of https://github.com/rsalvador/pmd 2012-11-28 15:30:49 +01:00
Pelisse Romain 57162d0ecd Merge pull request #9 from rsalvador/auxclasspath
Add missing handling for -auxclasspath parameter.
2012-11-27 16:02:34 -08:00
rsalvador b172c19de7 Make PMD more fault-tolerant. 2012-11-27 13:17:15 -08:00
rsalvador 9366ca2cde Add missing handling for -auxclasspath parameter. 2012-11-27 13:03:03 -08:00
Andreas Dangel 6b82ce4c48 pmd: using the release pmd-build plugin 2012-11-24 18:28:48 +01:00
Andreas Dangel 6a8d7c3bcc [maven-release-plugin] prepare for next development iteration 2012-11-24 17:56:05 +01:00
Andreas Dangel b242118d74 [maven-release-plugin] prepare release pmd-build/0.7 2012-11-24 17:56:04 +01:00
Andreas Dangel d1dfc93eb4 pmd/cpd: adding documentation and switches for suppressing ability and new ignore_annotations switch. 2012-11-23 22:12:04 +01:00
Andreas Dangel b2f3c070f5 Merge pull request #6 into tacitknowledge-master 2012-11-22 21:30:50 +01:00
Andreas Dangel 62ec54b152 pmd: added unit test for CsTokenizer
* behaves similar like Java, e.g. ignoring semicolons and comments
2012-11-22 20:18:07 +01:00
Andreas Dangel c563d8c4ce Merge remote-tracking branch 'tiobe/master' into tiobe-master 2012-11-20 22:53:47 +01:00
Andreas Dangel b0c2721c22 pmd (build): ignore rule definitions without a name in our documentation
This basically adds the question, how to deal with deprecated rule definitions.
We should document this, maybe in an own section per ruleset.
2012-11-20 18:12:42 +01:00
Andreas Dangel bed009c779 pmd site: fix broken links 2012-11-19 22:46:34 +01:00
Andreas Dangel dd283b27a5 pmd: updating TODOs in changelog.txt
* test framework: This is done AFAIK - we have tests in different languages.
* RuleViolations without Nodes: Created bug to follow up: https://sourceforge.net/p/pmd/bugs/1040/
* XPath functions doc: Created bug to follow up: https://sourceforge.net/p/pmd/bugs/1041/
* RuleSetReferenceId: Created bug to follow up: https://sourceforge.net/p/pmd/bugs/1042/
2012-11-18 18:15:49 +01:00
Andreas Dangel 0262776074 pmd: re-enable PMDCoverageTest 2012-11-17 17:22:06 +01:00
Andreas Dangel 68cc44b374 add a basic README.md file for github 2012-11-17 17:00:27 +01:00
Andreas Dangel cc17820ec2 pmd: add a parent pom file to help buildhive identify the maven build 2012-11-17 16:56:05 +01:00
Andreas Dangel fe0df04363 pmd website: update links, add a proper rewrite rule, add a nicer 404 error page 2012-11-17 16:25:32 +01:00
Romain PELISSE 3545b58820 Merge with remote 2012-11-14 22:55:39 +01:00
Romain PELISSE 5059c75b47 Merge with master 2012-11-14 22:46:12 +01:00
Romain PELISSE 7bc5810f7a pmd: adding changes suggested by Ryan Gustavson 2012-11-14 22:06:32 +01:00
Romain PELISSE a887700c8f pmd: Fix broken docs regarding new CLI tool usage 2012-11-14 22:06:24 +01:00
Romain PELISSE 1de9f7cd49 pmd: Reindent and whitespaces 2012-11-14 22:06:19 +01:00
Romain PELISSE 412322567e pmd: removes invalid call to System.exit() 2012-11-14 21:29:15 +01:00
Andreas Dangel d4ff29d2f7 Merge remote-tracking branch 'rpelisse/master' 2012-11-14 20:57:06 +01:00
Pelisse Romain 4a5afbcf75 Merge pull request #8 from adangel/property-renderer
Great job on Property renderer ! Thanks !
2012-11-14 11:30:33 -08:00
hooperbloob e2789335e4 new PMD snapshot jar 2012-11-09 08:17:35 -08:00
hooperbloob cd1e1ba133 Updates for the 4.0.0 release 2012-11-09 08:16:02 -08:00
hooperbloob d779fdb6a7 Updates relating to the 4.0.0 release of the plugin. Code to follow. 2012-11-08 22:46:38 -08:00
hooperbloob d6c2e505ab Bugfix for issue mentioned here:
http://sourceforge.net/p/pmd/discussion/188192/thread/888425ac
2012-10-31 23:35:36 -07:00
hooperbloob 09e0aaf335 Test commit, minor refactoring 2012-10-31 22:06:56 -07:00
Andreas Dangel a72c4f293c pmd: refactor renderers to use PropertyDescriptors 2012-10-26 20:13:20 +02:00
Andreas Dangel 940d5e36a8 pmd: make the old style properties deprecated for Renderer
* Provides also a default fall back to StringProperty
 * Use the new PropertyDescriptor for PMD command line help text
2012-10-26 19:31:26 +02:00
Andreas Dangel db22a424c4 pmd: remove old-style properties for renderers, where the properties were not used 2012-10-24 21:45:01 +02:00
Andreas Dangel 4304c8c455 pmd: updating tracker urls (bug 1025) 2012-10-22 20:21:54 +02:00
Andreas Dangel be6d551ba2 pmd (build): adjust release docu for git 2012-10-22 20:11:52 +02:00
Andreas Dangel 97b92fbf56 pmd: correct tracker url 2012-10-22 19:29:21 +02:00
Andreas Dangel 110fd248ca pmd: Merge pull request #7 2012-10-22 18:57:58 +02:00
Andreas Dangel d3d31968d5 pmd: #1034 UseConcurrentHashMap flags calls to methods that return Map 2012-10-21 19:59:32 +02:00
Andreas Dangel ce8a166a11 pmd: #1031 false DontImportJavaLang 2012-10-21 19:57:51 +02:00
Andreas Dangel d1d4fca5d5 pmd: #1035 UseObjectForClearerAPI has misspelled message 2012-10-21 19:24:01 +02:00
Andreas Dangel 3d2ff17d83 pmd: update bug ids 2012-10-21 17:04:45 +02:00
Andreas Dangel 86015e5277 pmd: using new pmd-build to fix bug 1036 - documentation of properties 2012-10-21 16:36:21 +02:00
Andreas Dangel 3941103714 pmd (build): add a RuntimeRulePropertiesAnalyzer to get the properties a rule supports for documentation (bug 1036)
* added maven plugin testing for a mojo test case
2012-10-21 16:32:30 +02:00
Andreas Dangel fefdc27c01 pmd (build): make sure the rulesets are sorted alphabetically
* fix TODO - use compiled regex pattern
2012-10-13 18:18:47 +02:00
Thomas a524a52008 Fix build; convert tests from JUnit 3 to 4; make some failing tests pass. 2012-10-08 11:19:20 -05:00
Andreas Dangel d126d9b0b8 pmd: bugfix 3546093 performance improving by caching not found classes 2012-10-07 10:38:52 +02:00
Andreas Dangel 60c2af73fd pmd: reintroducing check whether multi threading is support (bugfix for 3565001)
* created SystemUtils to check for multi-threading permission
Revert "pmd: Remove hack related to multithreading in jdk5 with Eclipse - no longer relevant today"

This reverts commit 720bb3d3b4.
2012-10-06 20:58:13 +02:00
Andreas Dangel 54cfe41206 pmd: improve javacc build with eclipse - add incremental build and only build if necessary 2012-10-06 19:24:32 +02:00
Andreas Dangel 99daea42a5 pmd: cleanup redundant test classes
* the two test suites are already integrated in DesignRulesTest and CouplingRulesTest
2012-10-06 19:20:25 +02:00
Andreas Dangel 28b37d6767 pmd: bugfix for 3574133: False+ : SingularField 2012-10-06 19:19:57 +02:00
Andreas Dangel da6e8fc05e pmd: updated changelog with bugfixes 2012-10-04 20:06:24 +02:00
Andreas Dangel 803e51f56b pmd: improve eclipse/maven integration 2012-10-03 21:51:58 +02:00
Andreas Dangel 5b7273bd47 pmd: delete the files that are generated by javacc from the repository
* the generated files are now located under target/generated-sources/javacc
 * Note: The files that are left in
   src/main/java/net/sourceforge/pmd/lang/java/ast
   were initially generated by javacc, but were modified
   (e.g. every AST*.java class)
2012-10-03 21:51:17 +02:00
Andreas Dangel 05b805b92c whitespaces / reformat 2012-10-03 21:48:52 +02:00
Andreas Dangel 97899e8b04 pmd website: make the site more friendly for smartphones. 2012-09-10 19:08:16 +02:00
Andreas Dangel ea6285dbf2 pmd (site): update release process with git specific commands. 2012-09-10 19:08:16 +02:00
Matthew Short 179ab9d708 First, I read this comment in the main tree and thought I'd put in some objects:
/*
	I'm doing a sort of State pattern thing here where
	this goes into "discarding" mode when it hits an import or package
	keyword and goes back into "accumulate mode" when it hits a semicolon.
	This could probably be turned into some objects.
	*/

I created a Discarder interface, and a couple implementations.  One handles keywords/tokens like import and package.  Another discards annotation blocks.  Another turns CPD on and off based on Strings within an annotation e.g. @SuppressWarnings("CPD-START") and @SuppressWarnings("CPD-END).

There have been two features desired by myself and my colleagues strongly.
1. Ability to ignore sections of source code, such as switch/case statements or parameterized factories.
2. Ability to ignore annotations.  More and more modern frameworks use annotations on classes and methods, which can be very redundant and trigger CPD matches.

Just to illustrate, here is a parametrized factory  example that can cause a false positive if you ignore literals (String and int values):

if ("A".equals(input)) return new A(1);
if ("B".equals(input)) return new A(2);
if ("C".equals(input)) return new A(3);
if ("D".equals(input)) return new A(4);
if ("E".equals(input)) return new A(5);
False positives cause the CPD reports to be a burden to review and read.  Many people start ignoring them when the first 20 entries are 'acceptable'.

For annotations, with J2EE (CDI, Transaction Handling, etc) and Spring (everything) become very redundant.  Often classes or methods have the same 5-6 lines of annotations.  This causes false positives.

For CPD-START and CPD-END, it would be much more desirable to use comments rather than annotations.  However, the parser drops comments and they can not be processed by the JavaTokenizer.  The current approach forces entire methods or classes to be skipped, rather than some blocks.  However, I feel its an improvement in cases like parameterized factories or case/switch statements where I don't want them polluting my results.
2012-09-03 20:25:21 -07:00
ryan-gustafson 051824beb8 Remove stray System.out. 2012-08-25 12:20:46 -05:00
ryan-gustafson 6419c3d6f5 Fixed bug 3560464: c/c++ \ as a continuation character not supported
Add ContinuationReader which entirely omits \\n and \\r\n from the
underlying Reader before anything reaches the parser.
2012-08-24 01:16:43 -05:00
TIOBE Software 3ceb80d7ac Added missing files for patch 2996539 : Add support for C# to CPD (simple parser) 2012-08-22 14:18:41 +02:00
ryan-gustafson 98c18554df Add ecmascript AvoidTrailingComma rule. 2012-08-15 05:42:50 -05:00
Romain PELISSE 37ec2f505b Add supported languages to generate usage/help text for CLI 2012-08-06 20:25:22 +02:00
Romain PELISSE 8709ade69f Add a positive value validator for the threads option 2012-08-06 19:54:57 +02:00
Romain PELISSE a66133e053 Remove now useless classes 2012-08-04 17:41:36 +02:00
Romain PELISSE a0236ee67f Move all CLI related logic into a class in the subpackage 'cli' - mostly to simplify and clarifiy PMD main class code. 2012-08-04 17:41:27 +02:00
Romain PELISSE f0b17e35ce Add a new Parameters class to hold all the parameters of PMD CLI 2012-08-04 17:37:02 +02:00
Romain PELISSE bd23033a82 Add jcommander as a dependency, in order to rework PMD CLI with it 2012-08-04 17:36:12 +02:00
Romain PELISSE 5d3f5f3ff4 Move XPathCLI to appropriate CLI subpackage 2012-08-04 17:35:17 +02:00
Romain PELISSE a248ca7da3 Whitespaces 2012-08-04 17:33:54 +02:00
Romain PELISSE e5083d3f59 Fix tests data directory, to ensure all files are properly generated inside the directory 2012-08-04 12:01:13 +02:00
Pelisse Romain 76b61e3054 Merge pull request #2 from rpelisse/master
Unit Test for CLI
2012-08-03 13:13:52 -07:00
Romain PELISSE 094e1bd490 Add unit test for CLI 2012-08-03 15:49:08 +02:00
Romain PELISSE 969678015d Modify PMD run to allow unit test to workaround the call to exit() - and retrieve the status code (using env's properties 2012-08-03 15:49:08 +02:00
Romain PELISSE 42ba8815b4 Add an handy public method to search for a pattern in a file 2012-08-03 15:49:08 +02:00
Romain PELISSE 30281b78af Add a handy class to iterate over a file, line by line (to be used in unit test, while checking result file) 2012-08-03 15:49:08 +02:00
Romain PELISSE baf4a9d903 Fix 3539117 - jnlp link for CPD is wrong. Thanks to Marcin Milkowski for spotting and reporting this. 2012-08-02 22:44:52 +02:00
Andreas Dangel 2b7bc6d300 Repository move to github 2012-07-29 16:43:36 +02:00
Andreas Dangel 094291e8ed pmd/bgastviewer: Moved the strings to the resources directory.
* removed accidentally added eclipse .project file, added .gitignore.
2012-07-26 20:19:25 +02:00
Andreas Dangel 2d9b4b400f Merge branch 'master' of https://github.com/victorbucutea/pmd into victorbucutea-master 2012-07-23 20:17:06 +02:00
Victor Bucutea 2b21c3e060 removed unwanted orig file 2012-07-23 19:00:38 +03:00
Victor Bucutea 1a8e374fbb Commit improved JSP parser + fix for ./bgastviewer 2012-07-23 18:52:40 +03:00
Andreas Dangel 8d2c08d5cb pmd: bugfix for 3484404 (Invalid NPath calculation in return statement)
Thanks to Prabhjot Singh for the patch.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7706 51baf565-9d33-0410-a72c-fc3788e3496d
2012-07-19 16:48:18 +00:00
Andreas Dangel 6926ba0647 pmd: added test for bug 3484404 (NPathComplexity and return statements)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7705 51baf565-9d33-0410-a72c-fc3788e3496d
2012-07-19 16:47:43 +00:00
Dinesh Bolkensteyn c629e28711 Delete the empty lib folder
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7704 51baf565-9d33-0410-a72c-fc3788e3496d
2012-07-03 08:07:45 +00:00
Dinesh Bolkensteyn 7e9ef50cfe Clean up some empty folders
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7703 51baf565-9d33-0410-a72c-fc3788e3496d
2012-07-03 08:02:30 +00:00
Dinesh Bolkensteyn 58ae0344ff 3539585 AvoidLiteralsInIfCondition must NOT consider null
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7702 51baf565-9d33-0410-a72c-fc3788e3496d
2012-07-03 07:29:40 +00:00
Romain Pelisse faedbdd9b3 Site: Add link to a Gregorian translation recently contributed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7701 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-12 15:56:35 +00:00
Romain Pelisse eab43fee83 Site: add documentation for new run.sh script (unices only)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7700 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-12 15:56:12 +00:00
Andreas Dangel 732bb2de1f pmd: add test for bug 3524607 (annotated package)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7699 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-11 17:47:36 +00:00
Andreas Dangel ad2017a073 pmd (site): renamed cpd.xml to cpd-usage.xml so that we can have a cpd report of PMD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7698 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-11 17:47:11 +00:00
Andreas Dangel 8b586a5375 pmd: fix developer info in pom.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7697 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-11 17:46:45 +00:00
Andreas Dangel f89c68a3bf pmd: added another test case for the parser
* see: http://jira.codehaus.org/browse/MPMD-126

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7696 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-11 17:46:25 +00:00
Brian Remedios bdb16fb1b5 minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7695 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 17:59:07 +00:00
Brian Remedios d447509c16 This class is quasi-obsolete, we should be transforming the XML renderer output instead, tagged with a FIXME.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7694 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 17:43:15 +00:00
Brian Remedios 38a959d939 minor tweak
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7693 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 17:26:23 +00:00
Brian Remedios eefb81a056 rm redundant methods
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7692 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 17:14:31 +00:00
Andreas Dangel c61a4f1543 pmd: configuring maven site
* removing the broken dependency icu4j - seems not to be needed
 * adding pmd report

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7691 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:11:03 +00:00
Andreas Dangel b5614ce718 pmd: added sourceforge tracking icons to the website
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7690 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:10:47 +00:00
Andreas Dangel 0e86ee33a4 pmd: make the output encoding of XMLRenderer of CPD and PMD more
easily configurable

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7689 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:10:25 +00:00
Andreas Dangel d04e8d32e9 pmd: ignoring tests with @Ignore, avoiding a little bit of configuration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7688 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:09:54 +00:00
Andreas Dangel 9573085a9a pmd: filter the ruleset xml files to bring in the correct website URL
for the externalInfoU.

The website URL for snapshots and releases is different and now
controlled via the property pmd.website.baseurl.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7687 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:09:16 +00:00
Andreas Dangel ef057d6fc7 pmd: adding me as developer in the POM :)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7686 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:07:49 +00:00
Andreas Dangel c2d113ead8 pmd: added additional parser tests for java 7
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7685 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:07:34 +00:00
Andreas Dangel e6e5c6dd7d pmd: fixed bug #2410201 False+ AvoidReassigningParameters
This is indeed a lack of the symbol table and type resolution, which is
not finished yet. We now stop trying to resolve the variables, once we
did not find the declaration in the middle.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7684 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:06:56 +00:00
Andreas Dangel eb6c0c8d31 pmd: fixed bug #3526212 with immutable field and compound assignment
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7683 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:05:50 +00:00
Andreas Dangel 196a5f15ea pmd: fixed bug #3526992 False + UselessParentheses
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7682 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:04:59 +00:00
Andreas Dangel 4ffeda09cf pmd: cleanup with the namespace handling in the ruleset files
noNameSpaceLocation is not needed as we use our namespace as
the default one. If we use anything else, we anyway need to
declare what we use.

Copied the schema and dtd to website.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7681 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:03:49 +00:00
Andreas Dangel 40c2a5d768 cpd: fixed bug #3523614, preserving the newlines in the XML report
Excluding the transitive xalan dependency and adding the missing saxon-dom
dependency, so that we have saxon complete and only one XML library.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7680 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:00:55 +00:00
Andreas Dangel 9eab491f2a pmd: fixed bug #3516101 (InsufficientStringBufferDeclaration fails to parse hex)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7679 51baf565-9d33-0410-a72c-fc3788e3496d
2012-06-02 12:00:14 +00:00
Andreas Dangel 2ec09b626a pmd: Strings.InefficientStringBuffering: fixed bugs #1503099 and #3109408
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7678 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-31 18:22:48 +00:00
Andreas Dangel af59a4c38b pmd: update changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7677 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-30 19:27:41 +00:00
Andreas Dangel dd5ae3869c pmd: Fix parser problem #3530124 with generics
Modified the grammar, so that the different usages of generics work.
Adjusted the rules, that use "super", as super is no longer a PrimarySuffix.
It's now either a ExplicitConstructorInvocation or a PrimaryPrefix.
See also test case ParserCornersTest/testParsersCases

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7676 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-30 18:29:22 +00:00
Andreas Dangel 65e7054972 pmd: improve MissingBreakInSwitch to ignore empty cases
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7675 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-28 17:46:36 +00:00
Andreas Dangel 933e4e4456 Added a new website front-page for pmd.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7674 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-28 06:18:14 +00:00
Andreas Dangel 4768da3e47 pmd: added test case for parser problem #3530124
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7673 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-28 06:17:41 +00:00
Andreas Dangel 04d5f470e8 pmd: improve MissingBreakInSwitch to fix false- #3496028
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7672 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-28 06:17:04 +00:00
Brian Remedios 7199a1103d Disable rules from markers shown in editors
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7671 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-03 19:10:53 +00:00
Andreas Dangel cfb9d30a4d pmd: merged r7665 and r7669 from 5.0.x branch to trunk
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7670 51baf565-9d33-0410-a72c-fc3788e3496d
2012-05-01 12:09:15 +00:00
Andreas Dangel d841cbaece [maven-release-plugin] prepare release 5.0.x
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7663 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 11:32:30 +00:00
Andreas Dangel 736851e446 [maven-release-plugin] prepare branch 5.0.x
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7661 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 11:31:55 +00:00
Andreas Dangel 47c1cee404 pmd: change the location of the website to include the version number.
This is to support easily multiple pmd versions on the website.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7660 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 11:19:16 +00:00
Andreas Dangel 4124ac0194 pmd: use the released pmd-build plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7659 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 11:18:50 +00:00
Andreas Dangel 35790351ec [maven-release-plugin] prepare for next development iteration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7658 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 08:58:46 +00:00
Andreas Dangel d7c37a7876 [maven-release-plugin] prepare release pmd-build-0.6
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7656 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 08:58:07 +00:00
Andreas Dangel adfa541460 pmd: upgrading plugin versions, making site maven 3 ready
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7655 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 08:54:53 +00:00
Andreas Dangel 2b6400f860 pmd: update documentation, update links in site
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7654 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 08:54:20 +00:00
Andreas Dangel 91f425231f pmd: added the list of XPath attributes to the Designer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7653 51baf565-9d33-0410-a72c-fc3788e3496d
2012-04-30 08:53:23 +00:00
Andreas Dangel 89573b7dc3 pmd: use latest pmd-build plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7652 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-25 08:09:47 +00:00
Andreas Dangel cec831d8d9 pmd (build): add missing href to the menu items
We'll need this once we switch to maven3 for site generation

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7651 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-25 08:09:18 +00:00
Andreas Dangel a27db9c932 pmd (build): fix xref link to rule source; thanks to Mason (masondj) for pointing this out.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7650 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-25 08:08:38 +00:00
Brian Remedios 3d53a0a4b6 Class name change from Configuration -> PMDConfiguration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7649 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-13 02:37:55 +00:00
Brian Remedios 1838cab4f9 Refactor main CPD class: migration of command-line arg handling to separate CPDConfiguration class similar to how PMD does it. Will eventually formalize the parameters in the same way.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7648 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-13 02:02:35 +00:00
Torsten Kleiber f2c95c6810 Release 11.1.2.4300
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7646 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-12 20:19:42 +00:00
Torsten Kleiber cc88c397e3 Release 11.1.1.4300
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7644 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-12 19:59:15 +00:00
Torsten Kleiber 2e8a2625b9 Release 11.1.2.4300
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7643 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-12 19:57:28 +00:00
Brian Remedios bd79c60d85 misc: rm redundant cast, StringBuffer->StringBuilder updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7642 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-12 16:54:13 +00:00
Brian Remedios 47413a2671 misc: rm redundant cast, rename method
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7641 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-12 16:34:01 +00:00
Torsten Kleiber 99906b8832 Release 10.1.3.4300
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7639 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-11 18:50:49 +00:00
Romain Pelisse 44a1618b6e Applied patch 3497021 from Remi Delmas - CPD now returns non zero status if duplication is found.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7638 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-06 08:42:11 +00:00
Romain Pelisse 6ea6ceab13 Add test case for bug 3496028 (False-)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7637 51baf565-9d33-0410-a72c-fc3788e3496d
2012-03-01 23:38:39 +00:00
Romain Pelisse 01cb7b943d Add some tests to reproduce reported bugs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7636 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-28 09:40:10 +00:00
Romain Pelisse 3bd0358b76 Fixed bug 3175710: NPE in InsufficientStringBufferDeclaration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7635 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-28 09:38:43 +00:00
Andreas Dangel da4059509b pmd: upgrade the checkstyle plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7634 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-26 15:42:07 +00:00
Andreas Dangel 4279747dcf pmd (site): moved release process documentation to site
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7633 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-26 15:41:45 +00:00
Brian Remedios f9ab211b28 renamed violation class, some minor tweaks
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7632 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 19:47:26 +00:00
Brian Remedios f818c4f72f Various cleanups & refactorings. I would suggest using the name of ParametricRuleViolation instead.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7631 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 19:10:33 +00:00
Brian Remedios ae375aa8a1 rm deprecated command line hander & related test, updates to the new one
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7630 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 19:05:58 +00:00
Romain Pelisse 49b55eb199 Test case for bug 3372128 - can't reproduce
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7629 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 11:12:16 +00:00
Romain Pelisse 970771586c Fix 3470274: Using Label for lines in XMLRenderer.
Also did some code cleaning/refactor of the class.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7628 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 10:35:41 +00:00
Romain Pelisse 57b117beee Refactor RuleViolationFactory
In order to ease the integration of new language,
I've refactor a couple of Abstract class, that was
in fact cocncrete (ie no abstract methods) into
parametizable (if this is a word) classes. Idea
being that other languages can simply reuse the
class instead of having to create a class just
to make the abstract class concrete.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7627 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 10:35:10 +00:00
Romain Pelisse ca9f7aa657 Whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7626 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 10:34:14 +00:00
Romain Pelisse 3225b95ef6 Updating Changelog (remove ToDo's that are done)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7625 51baf565-9d33-0410-a72c-fc3788e3496d
2012-02-24 10:33:34 +00:00
Andreas Dangel d54a66857c pmd: improved the release process documentation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7624 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-31 20:22:35 +00:00
Andreas Dangel 598a293dae [maven-release-plugin] prepare release 5.0-alpha
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7620 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-31 18:45:12 +00:00
Andreas Dangel 311c0ec909 [maven-release-plugin] prepare branch 5.0-alpha
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7618 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-31 18:43:54 +00:00
Andreas Dangel 04769d7631 pmd: preparing release 5.0-alpha
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7617 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-31 18:00:22 +00:00
Andreas Dangel d3ef31adca pmd: adding reports profile to have reports about pmd + checkstyle in jenkins
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7616 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-29 10:32:06 +00:00
Andreas Dangel 805b21e998 pmd (site): correct changes link
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7615 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-29 10:31:36 +00:00
Andreas Dangel 150297a6c5 pmd: update release process documentation using maven
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7614 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-29 10:31:00 +00:00
Andreas Dangel bffcddaf75 pmd: added new rules for javascript
* EqualComparison
* GlobalVariable

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7613 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-29 09:51:47 +00:00
Brian Remedios 47509a3de5 + Javadoc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7612 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-07 16:23:30 +00:00
Brian Remedios c1aa8b007b Minor Javadoc & formatting cleanup, no functional changes.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7611 51baf565-9d33-0410-a72c-fc3788e3496d
2012-01-04 16:16:54 +00:00
Brian Remedios 8412fba680 Javadoc fixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7610 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-27 19:56:08 +00:00
Brian Remedios 01295df863 Minor syntactic issue cleanup (imports, formatting, etc) as identified by other tools
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7609 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-27 17:06:28 +00:00
Brian Remedios 481e9a550b Minor syntactic issue cleanup (imports, formatting, etc) as identified by other tools
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7608 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-27 16:52:08 +00:00
Brian Remedios 6c7c4d6bc9 Various bugfixes as identified by other analysis tools
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7607 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-27 15:54:36 +00:00
Brian Remedios adedb883db completed toString()
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7606 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-27 14:48:24 +00:00
Brian Remedios 887b9feb1a Various bugfixes as identified by other analysis tools
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7605 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-27 14:33:45 +00:00
Brian Remedios 0deb64ea49 Point to new page
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7604 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-23 07:46:17 +00:00
Brian Remedios 016046520d Improved project-specific rule property panel, moved descriptions into separate panel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7603 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-23 07:32:19 +00:00
Brian Remedios 168ed54973 Example code & description cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7602 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-21 09:43:15 +00:00
Brian Remedios a42391b252 Satisfied a feature request: http://sourceforge.net/tracker/?func=detail&aid=3292643&group_id=56262&atid=479924
When in a code editor hit the default binding key, F7, to trigger the code review.

Condensed the number of rule panels in the rule selection page, added hyperlink for the external info url to
the summary page. Disabled the PMD/CPD options for now in the File Filters page.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7601 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-21 08:00:52 +00:00
Brian Remedios 53e8f7efca minor tweaks
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7600 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-20 06:07:29 +00:00
Brian Remedios 0d46665c86 Completed the automatic 'check on file save' function that initiates a code review whenever changes are saved to a code file. Enable it on the main PMD preference page as it is off by default.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7599 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-20 05:57:33 +00:00
Brian Remedios 8423633469 minor refactoring, no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7598 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-19 23:12:08 +00:00
Brian Remedios 400612d0c7 File include/exclude filters now working
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7597 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-19 21:38:24 +00:00
Brian Remedios 5f739ad7a8 cleanup text & examples
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7596 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-19 14:49:29 +00:00
Brian Remedios 569d616881 cleanup, no functional change
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7595 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 21:54:56 +00:00
Brian Remedios c012074d5a Two bugfixes for long-lived rulesets (i.e. within IDEs) : ensure we don't get duplicate patterns and update the filter when the patterns change.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7594 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 21:49:40 +00:00
Andreas Dangel 58ee43bf39 pmd: improve generation of zip files
* names are now like before: pmd-{bin|src}-version.zip
* use a assembly component for the common stuff of bin and src packages
* the clover report is excluded to save space - it's anyway available on the homepage

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7593 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 18:54:33 +00:00
Brian Remedios 9191135941 Replaced the CommandLineOptions (parser) with a more modular design with pluggable options that lends itself to extensibility and consistent usage help text generation. Once CPD gets its own configuration class I expect we can share this with it for a consistent approach.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7592 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 11:45:52 +00:00
Andreas Dangel 265a205726 pmd: fix again how PMD's version is determined
VERSION is now again final.
During the unit tests, pom.properties seems not to be available.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7591 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 09:29:02 +00:00
Brian Remedios fe3b5c4de0 minor cleanup, misconfig check for CSVRenderer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7590 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 09:23:09 +00:00
Brian Remedios d613e38ced icons, bugfixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7589 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-18 08:19:50 +00:00
Brian Remedios b5174f9900 minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7588 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-17 20:45:59 +00:00
Andreas Dangel 6f25096eac pmd: refactor how PMD's version is determined
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7587 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-17 20:06:11 +00:00
Andreas Dangel 537df7f0a1 pmd: use target instead of tasks for maven ant plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7586 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-17 20:05:34 +00:00
Andreas Dangel a89f64cfcc pmd: fix start script main class for PMD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7585 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-17 20:05:11 +00:00
Andreas Dangel 865e70bb2e pmd: make the windows batchfiles work again, without the versions.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7584 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-17 20:04:31 +00:00
Brian Remedios b52a5a0b2c optimizations, export improvements, bugfixes for new functionality
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7583 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-17 18:53:24 +00:00
Brian Remedios 40c10079bc Bugfixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7582 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-16 15:40:58 +00:00
Brian Remedios 71147ed42b Bugfixes for file filters preference page
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7581 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-16 08:34:01 +00:00
Brian Remedios 33d0140f94 Improved import dialog shows rules about to be imported and warns of any impending duplicates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7580 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-16 07:11:08 +00:00
Andreas Dangel d6e64e197e pmd: fix failing unit tests during site generation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7579 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-12 20:44:18 +00:00
Andreas Dangel c45636100e pmd: added missing encoding setting for surefire
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7578 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-12 20:43:39 +00:00
Andreas Dangel d5f6c01c08 pmd (doc): correct link to CI server job
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7577 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-12 18:12:29 +00:00
Andreas Dangel ba0cb3c0a6 pmd: switch to released version 0.5 of pmd-build
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7576 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-12 18:12:01 +00:00
Romain Pelisse 1c9d4ef64c pmd (doc): Fixed java version settings in documentation on PMD CLI
Thanks Attila-Mihaly Balazs for the patch !

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7575 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-12 13:06:11 +00:00
Brian Remedios 682ede14f8 +missing update
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7574 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 22:45:48 +00:00
Brian Remedios 1312ad9f3c +Convenience constructors and new renderer accessor
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7573 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 21:17:29 +00:00
Brian Remedios 4e41ff8426 revised default icons
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7572 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 21:07:45 +00:00
Brian Remedios 25fc4e95f1 Initial support for inclusion/exclusion file filters brought in during ruleset imports. Not tied into PMD itself at the moment though. Includes new preference page.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7571 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 21:06:25 +00:00
Andreas Dangel a777119965 pmd: using pmd-build plugin version 0.6-SNAPSHOT - will switch back to 0.5 once it is available
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7570 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 16:02:04 +00:00
Andreas Dangel a7e2706e9b pmd (build): Updated release docu.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7569 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 14:11:39 +00:00
Andreas Dangel 9e857a7c3e [maven-release-plugin] prepare for next development iteration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7568 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:57:12 +00:00
Andreas Dangel 80713fd04b [maven-release-plugin] prepare release pmd-build-0.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7566 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:56:35 +00:00
Andreas Dangel a77d4645cd pmd (build): reverted last commit
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7565 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:55:30 +00:00
Andreas Dangel 7133528cc7 [maven-release-plugin] prepare release pmd-build-0.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7563 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:48:22 +00:00
Andreas Dangel 3ce94f93f4 pmd (build): removed empty directories
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7562 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:46:47 +00:00
Andreas Dangel 1f4307b7b8 pmd (build): Added missing license in pom, added howto for releasing.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7561 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:43:03 +00:00
Andreas Dangel d49b35de8d pmd (build): Added me as developer :)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7560 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:42:38 +00:00
Andreas Dangel d96391a683 pmd (build): Added scm urls
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7559 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:42:17 +00:00
Andreas Dangel 3013b06f63 pmd (build): adding sonatype parent pom
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7558 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:41:55 +00:00
Andreas Dangel a29cc7ae89 pmd (build): moved the files to the standard directories
* src/main/java | resources
* enabled tests
* removed lib/pmd-build-0.4.jar - the plan is to have this dependency in maven central

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7557 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:41:31 +00:00
Andreas Dangel 90b9a04858 pmd (build): use groupId net.sourceforge.pmd and a SNAPSHOT version in trunk
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7556 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:37:17 +00:00
Andreas Dangel 7050c5dc33 pmd (build): whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7555 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-11 13:36:55 +00:00
Brian Remedios 4808f52509 Additional import dialog improvements.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7554 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-09 07:59:01 +00:00
Brian Remedios ff59234ff4 Import dialog cleanup: fixed some basic functionality but still needs a fair bit of work to make its operation obvious to the end user and improve error handling.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7553 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-09 06:32:34 +00:00
Romain Pelisse 7d1b3c1034 pmd (build): Update junit to 4.8.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7552 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-08 15:53:25 +00:00
Romain Pelisse 843baf888d pmd: Applied patch 3427563 - Deprecated class (android.util.config), kindly provided by Lukas Reschke
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7551 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-08 12:45:46 +00:00
Romain Pelisse e141e7a5f4 pmd (documentation): Applied patch from Jesse Glick to update links related to Netbeans integration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7550 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 20:00:40 +00:00
Brian Remedios fe3b3b2185 Initial cleanup: formatting, rm unnecessary .this, refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7549 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 15:22:02 +00:00
Romain Pelisse c939f662c5 pmd: Fixed bug 3303811 - Deadlink on "Similar projects" page
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7548 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 13:48:22 +00:00
Romain Pelisse 19dff1d721 cpd: Rework XML renderer (fix: bug 1435751)
CPD XMLRenderer was still manipulating strings and strings buffer
which lead to countless issues with proper encoding. It now uses
the appropriate XML API and relies ONLY on the defined system
variable file.encoding to set the encoding.

If one uses Ant or CLI option to change the encoding, the value of
file.encoding will then adapt. It may sounds a little bit extreme
but it should ensure consistency of all the files...

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7547 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 11:50:40 +00:00
Romain Pelisse 85c7c10f33 pmd (build): Remove uses of pmd.path in ant test file - no longer needed
As Maven is doing the work of having PMD in the classpath
we don't need this parameter. Having it causes problem if
you remove the lib/ folder in the root of the project, so
...

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7546 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 11:49:24 +00:00
Romain Pelisse 4b2f52cfd5 pmd (build): Delete temporary folder lib/
In order to run javacc I implemented a stupid hack
copying and renaming the jar file from the local
repository to a folder called 'lib' (otherwise,
the associate AntTask can't find the jar as it
expect it to be named javacc.jar - grrr...)

Anyway, this change remove the folder at the end
of the alljavac run.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7545 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 11:48:39 +00:00
Romain Pelisse d8edc69941 pmd (site): Move TODO.txt content to future.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7544 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 00:15:44 +00:00
Romain Pelisse 2d1647774d pmd (build): Add javacc as a dependency, tweak Ant script to use the Maven 2 repository (delete lib/*.jar are they no longer needed)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7543 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 00:15:12 +00:00
Romain Pelisse 97ded9b854 pmd: No documentation for code based rule descriptor.
Currently it's not possible to generate
documentation for a rule with a code based
descriptor - short of generating an XML file from
it and process it through the current set of XSL
transformation we use to produce the website.

While it's a nice idea, I don't think this is
eleganlty doable and I do think it's something
"people are desperatly" waiting for. So, as I
don't want this item to block the release, I'll
remove it...

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7542 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 00:14:32 +00:00
Romain Pelisse 9346cdbe7a pmd: Update etc/changelog with recent decision (we move forward with PMD 5.x incompatible with previous version)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7541 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-07 00:14:08 +00:00
Romain Pelisse aa0950c5e4 pmd (build): Document how to install the newly born maven plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7540 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:26:11 +00:00
Romain Pelisse bd8583ea41 pmd (build): externalise properly xsl filename, fixes default path to XSL
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7539 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:25:48 +00:00
Romain Pelisse a28b3cc948 pmd (build): pmd-build will look for XSL in classpath if it can't find it on filesystem
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7538 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:25:14 +00:00
Romain Pelisse 49b482e9b4 pmd (build): Disable useless xsl:message
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7537 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:24:39 +00:00
Romain Pelisse a9795f9d17 fixup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7536 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:24:15 +00:00
Romain Pelisse ebab5a0391 pmd (build): Move the pmd-build subproject out of PMD into its own separate project
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7535 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:23:51 +00:00
Romain Pelisse ef23452043 pmd (build): Turn pmd-build into mvn plugin
Turning this set of classes into a Maven plugin
has been incredibly easy (less than 30 minutes
actually) and allow us to simplify a little bit
the pom.xml configuration.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7534 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:18:35 +00:00
Romain Pelisse 219e3ba7f1 pmd (build): Bump compilation of tools to Java 1.6
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7533 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:17:48 +00:00
Romain Pelisse bef556e899 pmd (build): Add a parameter to configure target's destination when generating site.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7532 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:17:21 +00:00
Romain Pelisse f0276471ec pmd (build): Switch logger from info to debug
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7531 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:16:46 +00:00
Romain Pelisse 7b1ee1a5de pmd (build): Update pmd-build's jar
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7530 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:16:07 +00:00
Romain Pelisse 6ecd260d25 pmd (build): Add a commodity method to printout a DOMSource
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7529 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:15:39 +00:00
Romain Pelisse 4b8caa5bfa pmd (build): Fix bug in site's menu + logging
Fix a bug in the website generation leading all entries in the rulesets navigation
menu to be duplicated.

Also introduce Java Logging, instead of System.out, as a logger for the tools's
subproject. (Rationale behing that is - I hope, an easier integration with Maven later
on without making this code dependant of any librairies outside the JVM).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7528 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-06 18:14:54 +00:00
Romain Pelisse dbc4bb12f6 pmd (build): adapt build change to resources files refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7527 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:21:23 +00:00
Romain Pelisse bad086a731 pmd(build): enhance website to display all rulesets on the navigation menu
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7526 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:20:59 +00:00
Romain Pelisse 27b3689b8a pmd(build): Add missing classes from previous refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7525 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:19:56 +00:00
Romain Pelisse 3a22857498 pmd(build): Fix internal links in rules index pages
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7524 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:18:54 +00:00
Romain Pelisse 9e95c88b39 pmd(build): Remove useless comment strings and whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7523 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:18:27 +00:00
Romain Pelisse b34972eddc pmd(build): Update pmd-build jarfile
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7522 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:17:49 +00:00
Romain Pelisse 5f2e919319 pmd (build): Enhance output from build
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7521 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:17:16 +00:00
Romain Pelisse b4bae0969a pmd(build): Rework ruleset's XSL for website to support new rulesets coming from new language support
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7520 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:16:52 +00:00
Romain Pelisse 71794decad pmd (build): Refactor pmd-build code
The tools subproject was created over 2 years ago to simplify the build
process and enable both Maven 2 and Ant to easily do what maven 1 was
actually doing for us. The present refactoring has greatly clarified the
code and allow the build to process rulesets's directory recursively, in
order to cope with new rulesets directory layout.

Note: as we are now moving forward with using only mvn as our build system
this subproject will probably wrap into a regular mvn-plugin, and therefore
should be moved from the pmd/ directory to the root of our svn. Maven plugin
integration should reduced greatly the complexity of the pom.xml and remove
the pmd-build-*.jar from the repository... (however, it remains to be done).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7519 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:16:11 +00:00
Romain Pelisse 53858e98a4 pmd: Add missing language attribute to unusedcode ruleset.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7518 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:15:18 +00:00
Romain Pelisse 78c795a362 pmd (build): Bump build tool version
- bump version to 0.4
- bump ant to 1.8.2
- bump jdk to 1.6

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7517 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:14:39 +00:00
Romain Pelisse be76e8c414 pmd (build): Remove useless - and not maintened anymore, cpd.jnlp file
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7516 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 23:14:13 +00:00
Brian Remedios e2fe6d1621 minor tweaks
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7515 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 10:18:10 +00:00
Brian Remedios 54554a5104 Initial Save & load report property settings, needs further cleanup.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7514 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-05 09:57:05 +00:00
Freddy Mallet 0c56454746 Move unit test resources to the standard src/test/resources directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7513 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-04 10:35:21 +00:00
Freddy Mallet 1397774c6f Keep on migrating some files to src/main/resources and remove useless and empty directories
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7512 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-03 23:29:02 +00:00
Freddy Mallet e3a371d1fe Move the 'rulesets' direcctory into the standard src/main/resources directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7511 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-03 23:09:07 +00:00
Freddy Mallet 531d322cb1 Remove the root 'test' directory from the unit test packages
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7510 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-03 13:40:36 +00:00
Freddy Mallet f4c833b3a5 Move the 'regress' unit test directory to the standard 'src/test/java' directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7509 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-03 12:59:00 +00:00
Freddy Mallet 0be54d04e0 Add the properties quiet='true' to the Ant delete tasks to be able to build the pmd project out-of-the-box without any required manual operations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7508 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-03 12:38:09 +00:00
Brian Remedios 1b43936562 minor refactorings, tweak
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7507 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-02 07:50:29 +00:00
Romain Pelisse 0a65ddcc2f pmd (build): Adapt build to new layout for xdocs files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7506 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-01 09:39:29 +00:00
Romain Pelisse f92f6f3447 pmd (build): Enhance pmd-build logging
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7505 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-01 09:38:59 +00:00
Romain Pelisse 67ea0dbd1a pmd (build): Make path to rulesets configurable for java rulesets
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7504 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-01 09:38:06 +00:00
Romain Pelisse 74a5a652d1 pmd (build): Move all xdocs files to src/site/xdocs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7503 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-01 09:37:28 +00:00
Romain Pelisse d29cbda18c pmd (build): whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7502 51baf565-9d33-0410-a72c-fc3788e3496d
2011-12-01 09:32:17 +00:00
Romain Pelisse d013e0472c pmd: Minor refactoring - reduce code duplication
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7501 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-30 20:11:10 +00:00
Brian Remedios ac925c4cac Revised CSVRenderer to allow end user control over which columns are shown, a test implementation of the new property system on the renderers.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7500 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-28 05:05:10 +00:00
Brian Remedios c350ab821c Adaptations for file processor changes in PMD proper
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7499 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-28 03:53:34 +00:00
Brian Remedios 357dbe8ca3 Adaptations for file processor changes in PMD proper along with some warning suppression tags
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7498 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-28 03:52:16 +00:00
Brian Remedios 78a689e43a bugfix for 'unselectable' language version comboboxes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7497 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-28 03:44:54 +00:00
Brian Remedios a490e89fd0 Formatting/indentations fixed, XPathRule adaptations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7496 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-27 05:25:10 +00:00
Brian Remedios fd62448b91 Various:
* IDE adaptations (see new interface and empty method in PMD, comments requested)
	* Further refactoring of benchmark and processor classes

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7495 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-27 05:20:20 +00:00
Brian Remedios 7df1682f3f bugfix for missing ruleset.properties in final jar
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7494 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-27 04:46:55 +00:00
Brian Remedios 3f4d8db8c3 minor XPathRule improvements
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7493 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-26 22:28:27 +00:00
Brian Remedios 72e1b5dd42 refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7492 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-26 17:23:19 +00:00
Steven Christou c4e94219b4 pmd: Delete all old java source folders.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7491 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-26 09:25:46 +00:00
Romain Pelisse 1691962338 pmd: Drop deprecated renderer mode
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7490 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-24 09:00:15 +00:00
Brian Remedios 872bcd1baa Additional improvements to benchmark facility
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7489 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 16:25:49 +00:00
Brian Remedios 81f6a38641 Some overdue updates on benchmark facility:
* A separate package
* Modern enums for the various types
* Report interface for various output types (later)


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7488 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 11:21:57 +00:00
Brian Remedios a873345452 Updated changelog with recent updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7487 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 10:38:47 +00:00
Brian Remedios b12ad20878 minor refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7486 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 09:22:22 +00:00
Brian Remedios 5ac8f6d85c import cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7485 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 09:14:06 +00:00
Brian Remedios 7c77b45453 cleanup warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7484 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 08:15:18 +00:00
Brian Remedios 9e23e6fbbe cleanup warnings & formatting, pull out utility method
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7483 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 08:11:46 +00:00
Brian Remedios d18f456864 bugfix, cleanup warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7482 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 08:00:20 +00:00
Brian Remedios 5bd606b67f rm misplaced annotations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7481 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 06:43:54 +00:00
Romain Pelisse 3f23ecca4c pmd: Copy over the new portions of the v4.3 release changelog to this file to provide a complete history
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7480 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-23 00:38:51 +00:00
Romain Pelisse ef40e38b5d pmd: rename 'doing_the_next_pmd_release.txt' to 'release_process.txt'
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7479 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 20:47:02 +00:00
Romain Pelisse b1eb47ec21 pmd: Delete unused (anymore) readme.txt
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7478 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 20:46:38 +00:00
Romain Pelisse 739d8a3376 pmd: Move all scripts files from bin to src/main/scripts - adapt build script accordingly
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7477 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 20:46:18 +00:00
Romain Pelisse 75daf38ed3 pmd: Move all java sources to src/main/java, adapt pom.xml, test and other files accordingly
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7476 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 20:45:07 +00:00
Brian Remedios 821f452f69 Cleanup Javadoc warnings in the build
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7475 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 18:10:46 +00:00
Brian Remedios 8a6e5539d6 Cleanup Javadoc warnings in the build
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7474 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 17:26:59 +00:00
Brian Remedios 7860f88da5 Fix for failing tests, partial restore of original version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7473 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 15:58:44 +00:00
Brian Remedios a5add2c5d9 rm inadvertent commit of buggy refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7472 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 07:59:50 +00:00
Brian Remedios d35613e465 git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7471 51baf565-9d33-0410-a72c-fc3788e3496d 2011-11-21 07:55:19 +00:00
Brian Remedios b965f14ae6 minor sort optimization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7470 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 07:20:07 +00:00
Brian Remedios 49d71819b8 refactoring monster method, no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7469 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 06:59:31 +00:00
Brian Remedios 192e1e56a0 Simplified descendent checks for multi-type cases,
Exposed failure modes for XPathRule and AssignmentInOperandRule

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7468 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 05:36:46 +00:00
Brian Remedios 89d143f63c Minor refactoring, rulesets are now filtered to remove dysfunctional rules before execution.
These are recorded in the report. (Need to adapt the various reports to show them)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7467 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 04:37:31 +00:00
Brian Remedios d2b5f25524 minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7466 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-21 04:23:49 +00:00
Romain Pelisse 7f113dfe7e pmd: refactor PMD main class (no functional change)
This refactor is focused on reducing the amount of responsibilities of the PMD
class. Therefore all thread manbo-jambo has been moved to separate subpackage,
and the algorithms associated to the mono threaded or multithreaded strategy
were also moved into two separate classes. As they share a common signature and
some code, an abstract class was also added.

A large amount of code were moved out of PMD class to a RulesetsFactory utility
class, here again to reduce coupling and scope of responsibility. At last, PMD
class now has two fields, the Configuration object, as before, and a new object
called SourceCodeProcessor, which is in charge of ... processing source code !

Anyway, those changes are pure inner refactoring and should be harmless to
project, such as PMDEclipse or the Maven plugin - however, as any good plan
tends to go "boum" the minute you state "I love when I a plan come together",
please let me know if you run into any issue with theses changes, I'll do my
best to support you...

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7465 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 21:08:06 +00:00
Romain Pelisse 8dc6107743 pmd: Adapt assembly to new lone shell script
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7464 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:20:25 +00:00
Romain Pelisse a6cc4dd821 pmd: Move small CLI class for XPath testing to root package
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7463 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:19:44 +00:00
Romain Pelisse a1b1d62b66 pmd: Move symboltable-specific class to appropriate package
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7462 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:18:52 +00:00
Romain Pelisse 0295107fcf pmd: Move designer-specific interface in appropriate subpackage
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7461 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:17:16 +00:00
Romain Pelisse 9c70998317 pmd: Add a flush method to the Renderer interface, and the AbstractRenderer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7460 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:16:18 +00:00
Romain Pelisse 1e5d8f4024 pmd: Add a method to IOUtils to create writer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7459 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:15:34 +00:00
Romain Pelisse 5fd478273e pmd: code cleaning - using appropriote method from IOUtils to close outputstream
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7458 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:14:52 +00:00
Romain Pelisse 720bb3d3b4 pmd: Remove hack related to multithreading in jdk5 with Eclipse - no longer relevant today
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7457 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:14:10 +00:00
Romain Pelisse 0aa0179ae5 pmd: Replace thrown RunTimeException by proper call to System.exit for CPD and PMD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7456 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:13:32 +00:00
Romain Pelisse 2ca6ae2528 pmd: Make LIB_DIR overridable for development purpose
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7455 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:12:48 +00:00
Romain Pelisse 17eb4b6957 pmd: merge all .sh scripts into one run.sh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7454 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:12:16 +00:00
Romain Pelisse 659614ea7e pmd: Harmonize bgastviewer.sh and cpd.sh with pmd.sh/designer.sh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7453 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:11:37 +00:00
Romain Pelisse 756f3898e0 pmd: Harmonized run script for pmd and designer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7452 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:11:03 +00:00
Romain Pelisse f8572ad798 pmd (docs): removes files related to a failed attempt to have a french translation of the website, it's mostly outdated anyway
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7451 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:10:26 +00:00
Romain Pelisse 29001b5c3f pmd (build): move build.xml to tools, refactor to only keep the 'alljavacc' tasks - all other build related tasks are now delegated to mvn
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7450 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:09:52 +00:00
Romain Pelisse 80565a78a4 pmd: Rename build.xml to tools/ant/alljavacc.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7449 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 15:09:16 +00:00
Brian Remedios 5905ecebb9 Simple refactoring, no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7448 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-17 07:47:49 +00:00
Andreas Dangel 0d3dc97dd8 pmd: update to the new release process.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7447 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-14 19:08:06 +00:00
Andreas Dangel 9683c23b7e pmd: using now assembly plugin to create bin / src zip files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7446 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-14 19:07:29 +00:00
Romain Pelisse 02610c6961 pmd: updating build.xml dependency to match pom.xml's ones
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7445 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:09:27 +00:00
Romain Pelisse d30af31c3c pmd (site): Remove a deprecated/commented out URL
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7444 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:08:47 +00:00
Romain Pelisse 93110c8a0f pmd: Document new release process, removes all deprecated shell scripts, project.xml,...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7443 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:08:23 +00:00
Romain Pelisse 76fe691ffb pmd: Have mvn set PMD version number in java source code and xdocs files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7442 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:07:36 +00:00
Romain Pelisse b946659a10 pmd: Replace backquote by syntax in pmd.sh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7441 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:07:00 +00:00
Romain Pelisse 941d67dcf9 pmd: Removes a uselessly hardcoded version number from website
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7440 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:06:40 +00:00
Romain Pelisse a2172bc1dc whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7439 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-11 22:06:18 +00:00
Dinesh Bolkensteyn a7cde64785 Trunk: Improved the PreserveStackTrace rule to support Java 7
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7414 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-01 15:20:38 +00:00
Andreas Dangel cf1d32f2b3 pmd: ignored all StatisticalRuleTests that are based on testTSM().
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7411 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-19 20:59:29 +00:00
Andreas Dangel 4a630cf41a pmd: ignoring tests that are not regression tests.
* The default for inRegressionTestMode is now true.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7410 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-19 20:41:42 +00:00
Andreas Dangel 8327723e38 pmd: add workaround for PMDTaskTest if run from maven
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7409 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-19 20:41:10 +00:00
Romain Pelisse e9b96497d6 add missing credits from last commit
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7408 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 14:15:53 +00:00
Romain Pelisse 4511c774e6 Applied patch 4320938: CPD GUI Launcher script only supports Microsoft Windows, thanks to Tom Wheeler
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7407 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 14:13:39 +00:00
Romain Pelisse 91b2593286 Applied patch 2822131: Enhance SuspiciousEqualsMethodName, thanks to Andy Throgmorton
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7404 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 13:49:21 +00:00
Torsten Kleiber 00e9108078 Migrate to 11.1.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7401 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-13 20:22:00 +00:00
Romain Pelisse 572188de64 Generated source modifications (by javacc - due to change to support Java 7)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7399 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-13 15:46:37 +00:00
Romain Pelisse 83c3beeb3e Applied patch 3411811: Java 7 support for PMD, thanks to Dinesh Bolkensteyn and SonarSource.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7398 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-13 15:45:37 +00:00
Andreas Dangel d2e4076614 pmd: updated site information
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7395 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-09 10:58:34 +00:00
Andreas Dangel 501f5dc7f4 pmd: updated release scripts and documentation.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7394 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-09 10:58:13 +00:00
Andreas Dangel 05cb5bcbbe Applied patch 2822173: Fix false negative for UseArraysAsList when the array was passed as method parameter. Thanks to Andy Throgmorton.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7393 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-09 10:57:48 +00:00
Andreas Dangel 7484fd60db pmd/pom.xml: reformatted, whitespaces, indentation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7392 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-09 10:57:09 +00:00
Andreas Dangel 6049cc68b2 pmd/pom.xml: maven changes: new groupId, new parent (sonatype oss-parent), updated profiles
* the new groupId is now "net.sourceforge.pmd"
* see https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
* the distributionManagement section is inherited from sonatype
* any sourceforge specific configuration is in the profiles "sf-release" and "sf-snapshot"

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7391 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-09 10:56:52 +00:00
Brian Remedios 8fb9863200 adaptations to remove defective rules
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7390 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-05 07:35:18 +00:00
Brian Remedios d1fc92b257 Test for new utility class
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7389 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-05 05:17:38 +00:00
Brian Remedios 71def3accc minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7388 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-05 04:39:33 +00:00
Brian Remedios eb42fcb7a0 minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7387 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-05 04:38:49 +00:00
Brian Remedios 4260e6aed6 New utility methods
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7386 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-05 04:34:16 +00:00
Brian Remedios 3288f82e92 updated documentation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7385 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-03 21:02:44 +00:00
Brian Remedios 32228086c0 Refactoring large methods into smaller ones, fixed formatting (indentation). No functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7383 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-02 03:10:52 +00:00
Brian Remedios db101774fc Cleanup from earlier refactoring, no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7382 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 23:11:11 +00:00
Romain Pelisse 1c87d5b849 Applied patch 2779678: Don’t use floating point for loop indices, thank to Suresh.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7381 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 22:42:18 +00:00
Romain Pelisse e75f4383f1 Applied patch 2779678: Don’t use floating point for loop indices, thank to Suresh.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7380 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 22:41:38 +00:00
Romain Pelisse 06918d5c95 Applied patch 3217201: CPD performance regression, thanks to Cd-Man
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7379 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 22:28:50 +00:00
Romain Pelisse 23769a3357 whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7378 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 21:54:11 +00:00
Brian Remedios 1783f28d35 New PrematureDeclaration rule checks for variable declared at suboptimal positions within methods. Tests seem ok but if you guys could also run it over your preferred code samples that would be great.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7377 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 21:13:31 +00:00
Brian Remedios a66f8f761f formatting, minor optimization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7376 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 20:58:18 +00:00
Brian Remedios 06fffc9efc formatting, minor optimization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7375 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-01 20:38:31 +00:00
Andreas Dangel d3fea90a7c correct the default maven deploy repository
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7372 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-30 18:30:17 +00:00
Brian Remedios 93ef09182b minor cleanup, no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7369 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-30 04:49:51 +00:00
Brian Remedios d897b5104b Updated TODO section of changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7368 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-30 02:32:55 +00:00
Andreas Dangel 7d1c10cbe2 Added license info to pom.xml, extended next release howto for maven
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7367 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-29 19:00:01 +00:00
Andreas Dangel 93f9d6760b patch 3130615: fix xpath rule to consider the correct if-condition.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7358 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-26 19:49:41 +00:00
Andreas Dangel 7868131b5c Added checkstyle config for eclipse checkstyle plugin 5.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7357 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-26 19:41:52 +00:00
Andreas Dangel 7275c9f0be Applied patch 3013807: DoNotCallSystemExit through Runtime. Thanks to Steven Christou.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7356 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-26 19:41:32 +00:00
Andreas Dangel 165bb3a24c Applied patch 3130615: New Rule GuardDebugLogging for jakarta-commons logging. Thanks to Tammo van Lessen.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7355 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-26 19:40:51 +00:00
Brian Remedios 73c258e712 display boolean values in AST
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7354 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-26 06:14:14 +00:00
Romain Pelisse 7d026e717d add patch 3155140 to changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7351 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 20:05:04 +00:00
Romain Pelisse 24f744c50a add last patch to changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7350 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 19:40:12 +00:00
Andreas Dangel c17394ad4f Applied patch 3155140: Exclude boolean getters (is*) from
TooManyMethods rule. Thanks to Riku Nykanen.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7349 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 16:43:36 +00:00
Andreas Dangel a6d3fc0c6e Removed duplicated rule definition.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7348 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 16:42:59 +00:00
Andreas Dangel 95fcf1260b Enabled more unit tests for regression.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7347 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 16:42:39 +00:00
Brian Remedios 27e8668ba0 misc cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7346 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 04:00:29 +00:00
Brian Remedios 5fe7f691e9 StringBuffer -> StringBuilder switchovers, refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7345 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 03:59:28 +00:00
Brian Remedios 70f6cf2def StringBuffer -> StringBuilder switchovers
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7344 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 03:58:24 +00:00
Brian Remedios 1ed5e370a7 misc cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7343 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 03:57:33 +00:00
Brian Remedios 84b0547cd7 StringBuffer -> StringBuilder switchovers
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7342 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 20:50:43 +00:00
Romain Pelisse f92bdcc9bd applied patch 2828099 : Designer's bug 'Create XML Rule', thanks to Andy Throgmorton
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7341 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 19:49:13 +00:00
Romain Pelisse 74d84945b8 whitelines, re indent (removes tab)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7340 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 19:48:48 +00:00
Brian Remedios 8be45bd369 StringBuffer -> StringBuilder switchovers, refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7337 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 10:12:46 +00:00
Brian Remedios f6d5d565d1 restore static var, tighten property validation for AvoidDuplicateLiteralsRule
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7336 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 09:32:02 +00:00
Brian Remedios 03196e88b2 Improved resource handling, better living through utility methods ;)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7335 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 09:20:22 +00:00
Brian Remedios e13e441d96 bugfixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7334 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 07:39:37 +00:00
Brian Remedios 571dc30668 StringBuffer -> StringBuilder switchovers
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7333 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 05:32:54 +00:00
Brian Remedios e8559f48ec rm unreferenced/duplicate code
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7332 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 05:28:21 +00:00
Brian Remedios a85a9cd3c5 StringBuffer -> StringBuilder switchovers
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7331 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 05:15:06 +00:00
Romain Pelisse 344c331f65 add missing link to typeresolution rulesets
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7330 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 00:57:24 +00:00
Romain Pelisse 85cc2b5a10 applied patch 2996539 : Add support for C# to CPD (simple parser)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7328 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 00:30:19 +00:00
Brian Remedios 32bbd35037 StringBuffer -> StringBuilder switchovers.
This class needs further cleanup, rather cheezy

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7326 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 00:03:23 +00:00
Romain Pelisse cf801267c1 adding Andy Throgmorton to the contributor list
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7322 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 23:54:43 +00:00
Romain Pelisse 4d20daf2e3 applied patch 2829888 : New rule: Calling Thread.run() - thanks to Andy Throgmorton
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7321 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 23:54:25 +00:00
Romain Pelisse ee738e5d89 whitespaces and indent
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7320 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 23:53:47 +00:00
Romain Pelisse 9102b422bf apply patch 3084292: character reference in xml report - thanks to Seko
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7319 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 17:55:34 +00:00
Romain Pelisse 275fcc6def clean designer script
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7316 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 17:32:20 +00:00
Romain Pelisse b0a1246536 clean bgastviewer.sh script
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7315 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 17:32:03 +00:00
Romain Pelisse bbd6605f3f removes another rather useless script - IDE, Maven and Ant can do this for you
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7314 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 17:31:46 +00:00
Romain Pelisse 62dda9ef0e delete now useless script wrapping scp
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7313 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 16:06:39 +00:00
Romain Pelisse 4a38a850fa clean PMD run script
Also port the settings of java's heapsize, using a env var, from the CPD run script

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7312 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 16:05:59 +00:00
Romain Pelisse 8572a62429 clean CPD run script
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7311 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 15:41:24 +00:00
Romain Pelisse 799f7d6002 apply patch 3175832 from Cd-MaN: Add options to to the CPD command line task.
While applying the patch, I discover that properties where never really
 used and not passed down to the language implementation. In order to fix
that and keep the loose coupling we currently have, I used the system
properties.
Also did isolate that in a separate function and did a (little) code
cleaning.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7310 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 15:40:34 +00:00
Romain Pelisse 00c54d77b0 whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7309 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 15:38:34 +00:00
Romain Pelisse ee7f23326b apply patch 3315807 from Ryan Pavlik:
add .hxx and .hpp as valid file extension for CPD

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7308 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 15:37:54 +00:00
Brian Remedios cb88e72aaf +contribution credit
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7307 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 07:17:26 +00:00
Brian Remedios 426b783d2b New XPath getCommentOn function as provided by Andy Throgmorton
https://sourceforge.net/tracker/?func=detail&aid=2833791&group_id=56262&atid=479923

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7306 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 06:57:43 +00:00
Brian Remedios e1cd730134 +changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7305 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 05:14:03 +00:00
Brian Remedios 2c900f6605 bugfix - how did I miss this one? urgh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7304 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 05:02:26 +00:00
Brian Remedios 225332e8f1 Updated list of report renderers, NPE bugfix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7303 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 05:01:27 +00:00
Brian Remedios 28e8c16e6f Support for checking code from working set selections. Contribution from Dominic:
http://sourceforge.net/tracker/?func=detail&atid=479923&aid=3137280&group_id=56262

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7302 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 04:59:42 +00:00
Brian Remedios 59bff0eea0 New report preferences page. Only saves active selections at the moment, all other settings are read-only.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7298 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-21 04:58:53 +00:00
Brian Remedios 9b4713f1ad updated buglist
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7297 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-21 04:26:07 +00:00
Brian Remedios 4f7aa7cc52 Accommodating property refactoring in PMD proper: Rule->PropertySource
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7296 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-21 04:22:57 +00:00
Brian Remedios ec8c9e1e5b Modernizing: StringBuffer -> StringBuilder switchover
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7295 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-20 15:07:07 +00:00
Brian Remedios 04fcbeb2f8 Refactoring - pushed property mgmt functionality into new superclass now shared by the report renderers
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7294 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-20 05:42:37 +00:00
Brian Remedios 76e1fcbb6e bugfix - add missing </table>
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7293 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-20 04:03:19 +00:00
Brian Remedios ad0ad24047 bugfix, minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7279 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-19 06:14:15 +00:00
Brian Remedios c4f9f749e4 Report renderers now specify their default file extensions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7278 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-18 20:24:05 +00:00
Andreas Dangel c42b82d1e7 fixed some unit tests, updated index site, updated changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7277 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-18 11:20:11 +00:00
Brian Remedios 7b81e56a3f updated, formatting. No functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7276 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 19:06:20 +00:00
Brian Remedios c485378bbd updated, formatting. No functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7275 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 18:53:56 +00:00
Brian Remedios 1d082f773b refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7274 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 15:22:48 +00:00
Brian Remedios 6f2cce7b71 refactoring, cleanup - no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7273 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 15:21:51 +00:00
Brian Remedios 28360da680 reduce complexity
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7272 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 04:39:08 +00:00
Brian Remedios 051aa506c6 reduce nesting, misc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7271 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 04:27:20 +00:00
Brian Remedios 28e7d3ed8d return empty array instead of null
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7270 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-17 04:12:37 +00:00
Brian Remedios 44c2477dca Show error icon when selected rules have one or more problems
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7269 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-16 06:07:06 +00:00
Brian Remedios 290cda42aa Show error icon when selected rules have one or more problems
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7268 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-16 06:05:19 +00:00
Brian Remedios c11832e723 NPE fix & misc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7267 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-16 06:02:21 +00:00
Brian Remedios 11f5efc448 A much improved (IMHO) CPD viewer that optimizes the display of the various matches.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7266 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-16 05:49:49 +00:00
Brian Remedios de631fc97b NPE fix under Windows
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7265 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-15 09:20:19 +00:00
Brian Remedios 5520f44fff NPE fix under Windows
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7264 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-15 09:18:54 +00:00
Brian Remedios d8182d1d85 NPE fix under Windows
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7263 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-15 09:03:04 +00:00
Brian Remedios bbcce8e236 import cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7262 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-15 05:58:36 +00:00
Andreas Dangel 23b313075f Fixing some unit tests
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7234 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-09 16:45:46 +00:00
Andreas Dangel cdcecf6dff Added forking again for junit tests
- otherwise the classpath isn't correct for PMDTaskTest

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7233 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-06 18:11:36 +00:00
Andreas Dangel 507b23d234 fixed encoding issues in StringUtilsTest
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7232 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-02 19:45:44 +00:00
Brian Remedios f96d7aff34 rm dead import
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7231 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 09:57:12 +00:00
Brian Remedios b0324e9a4c AST view:
new Expand All button for tree
  new Filter menu can hide/show imports or comments in the AST tree


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7230 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 09:55:57 +00:00
Brian Remedios 0f7a0cce95 Updated credits
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7229 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 07:46:42 +00:00
Brian Remedios 25ee4f06d9 misc formatting
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7228 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 07:39:53 +00:00
Brian Remedios 73a26f2480 +Two new rules provided by Andreas Dangel: LawOfDemeter and GodClass
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7227 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 07:37:15 +00:00
Brian Remedios a911c38a50 +utility method, updated Javadocs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7226 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 06:31:28 +00:00
Brian Remedios dc4539ec88 encoding latin1 -> utf8
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7225 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 06:24:18 +00:00
Brian Remedios 94ebde3640 Escape character fix per Andreas
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7224 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-30 06:14:00 +00:00
Brian Remedios 1ebaefa815 A long overdue dogfood fix, convert interface fields to static class ones. - Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7223 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-26 05:54:39 +00:00
Brian Remedios 0a15ea3dc5 Dogfood fix patch for UselessParentheses - supplied by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7222 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-26 05:10:19 +00:00
Brian Remedios 43fb9dd783 Dogfood fix patches supplied by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7221 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-26 05:03:50 +00:00
Brian Remedios ee77edf942 rm dead imports, formatting - from Andreas
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7220 51baf565-9d33-0410-a72c-fc3788e3496d
2011-08-26 04:51:21 +00:00
Brian Remedios 64aca869a1 private -> public method change
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7219 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 09:09:43 +00:00
Brian Remedios 17d1791f50 misc generics tweak
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7218 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:54:50 +00:00
Brian Remedios 54229dcebb Augmented comments for bug #1415525 - Andreas Dangel
Code formatting tweaks

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7217 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:53:41 +00:00
Brian Remedios 94c6d6373a Fix for 261404 (LocalVariableCouldBeFinal) by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7216 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:45:25 +00:00
Brian Remedios b9de61c666 Fix for UselessParentheses rule for unit test by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7215 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:33:39 +00:00
Brian Remedios dc7a18aad2 Unused null check fix by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7214 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:27:16 +00:00
Brian Remedios 477abde64d coverage syntax fixes by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7213 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:20:59 +00:00
Brian Remedios 3c15bbc47a Match fix by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7212 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 08:14:11 +00:00
Brian Remedios 33be183753 test class path fix by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7211 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 07:46:59 +00:00
Brian Remedios 3d7faa7cd9 Fix for inner class extraction for anonymous types by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7210 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 07:41:47 +00:00
Brian Remedios 9af860c2ac Improved namespace treatment patch submitted by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7209 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 07:32:32 +00:00
Brian Remedios 2b444cd3db grammar lookahead patch submitted by Andreas Dangel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7208 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 07:22:56 +00:00
Brian Remedios 39be38a690 +TODO, NPE fix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7207 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-31 06:41:56 +00:00
Brian Remedios 285b9f8bbf update submitted by Andreas
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7206 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-25 03:54:07 +00:00
Brian Remedios 46b878abb4 partial fix submitted by Andreas
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7205 51baf565-9d33-0410-a72c-fc3788e3496d
2011-07-24 16:27:48 +00:00
Dale Anson 17caae8a73 Fixed the progress bar so it uses the EVT correctly.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7204 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-30 19:58:37 +00:00
Dale Anson ef780e5430 New build of pmd.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7203 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-30 19:22:56 +00:00
Dale Anson 171599bc39 Made checking of jsp files actually work.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7202 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-30 19:22:20 +00:00
Dale Anson f5461a958d Added "inclusions" regex.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7201 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-28 22:10:25 +00:00
Dale Anson 71ce8591e2 Replaced with asm-3.2.jar.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7200 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-28 22:08:51 +00:00
Dale Anson b80c8a05e7 Mostly updates for better CPD integration with jEdit.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7199 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-28 18:04:11 +00:00
Torsten Kleiber bc20ca5a6b Renamed to reflect new JDeveloper Version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7197 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-14 20:20:04 +00:00
Torsten Kleiber 050f39eb87 Rename to reflect the JDeveloper version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7196 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-14 20:18:39 +00:00
Torsten Kleiber 55f64603af Migrate to 11.1.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7195 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-14 20:14:47 +00:00
Torsten Kleiber 2e0846b976 New JDeveloper Version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7194 51baf565-9d33-0410-a72c-fc3788e3496d
2011-06-14 20:07:09 +00:00
Brian Remedios 0484b24305 bugfix for non-existent Javadoc follow-on
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7192 51baf565-9d33-0410-a72c-fc3788e3496d
2011-03-09 08:14:53 +00:00
Brian Remedios 518591c2f7 bugfix for Language column label
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7191 51baf565-9d33-0410-a72c-fc3788e3496d
2011-03-07 08:31:13 +00:00
Brian Remedios a65d0b1697 updated test & text properties
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7190 51baf565-9d33-0410-a72c-fc3788e3496d
2011-03-07 06:33:47 +00:00
Brian Remedios d722a837eb updated to current PMD trunk release and icon set
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7189 51baf565-9d33-0410-a72c-fc3788e3496d
2011-03-07 06:21:56 +00:00
Brian Remedios a9d4f72d91 * New violation outline view with additional (optional) columns, uses new symbols
* Column sorting for AST view and Violation Outline
* Rule table shows dysfunctional rules in italics with warning symbols
* Bugfix for rule selection in grouping mode
* Refactored rule column descriptors
* Initial support for custom formats for column data
* Support for new File property type
* Property panel now disables property controls deemed non-functional by the rule
* Refactored cell painter builders

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7188 51baf565-9d33-0410-a72c-fc3788e3496d
2011-03-07 06:19:45 +00:00
Brian Remedios a5216eea82 Expanded Rule interface
- new property dysfunction info
	- some properties will be ignored - allows the UI to disable relevant controls.
	- updated various rules to provide this info when necessary
	- misc cleanup

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7187 51baf565-9d33-0410-a72c-fc3788e3496d
2011-03-07 05:33:02 +00:00
Brian Remedios 9fd124c46d tighten up ruleset naming - removing redundant 'rules' suffixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7186 51baf565-9d33-0410-a72c-fc3788e3496d
2011-02-21 18:05:47 +00:00
Brian Remedios 26ff635b88 revert version #
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7185 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-30 07:32:23 +00:00
Brian Remedios 7a29437e3d refactoring, adaptations for new comment ruleset
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7184 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-29 10:47:01 +00:00
Brian Remedios 4ffa5c453f refactored comment-related AST classes, updated rules
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7183 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-29 10:13:56 +00:00
Brian Remedios 22efa6d2ab refactored comment-related AST classes, updated rules
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7182 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-29 10:13:21 +00:00
Brian Remedios 65b64ce07a better control enable/disablement
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7181 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-22 22:16:43 +00:00
Brian Remedios a04ef56213 new Comments ruleset and initial rules.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7180 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-22 09:31:59 +00:00
Brian Remedios 5083fa091e rm non-functional menu item
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7179 51baf565-9d33-0410-a72c-fc3788e3496d
2011-01-21 05:56:29 +00:00
Radim Kubacki f1f375864d Use include parameter in ctor.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7178 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 19:30:41 +00:00
Radim Kubacki 73e3379ffd pmd-netbeans release 2.2.7
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7175 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 19:12:43 +00:00
Radim Kubacki 92a956335e Bug #3107338: classpath for custom ruleswas not processed correctly: patch submitted by trausch at gmx.at and by svef in bug report.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7174 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 18:59:05 +00:00
Radim Kubacki cbc1e20dbf Fixed bug in ruleset properties customization: patch submitted by trausch at gmx.at, test added.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7173 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 18:38:22 +00:00
Radim Kubacki efe40739c8 NbJUnit depenency is needed is new NetBeans releases.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7172 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 18:36:07 +00:00
Radim Kubacki 5b6231fc84 remove unused method
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7171 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 18:34:11 +00:00
Radim Kubacki c732b09ead Default JDK - assume Java 6.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7170 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-29 18:30:47 +00:00
Dale Anson 93d0cf4d3e Removed some annoying message boxes, sending error messages to ErrorList now.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7169 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-05 22:30:22 +00:00
Brian Remedios e8dd8cacce +new option to control full builds per project (checkbox in project preference page).
Thanks to Joe Freeman for the contribution.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7168 51baf565-9d33-0410-a72c-fc3788e3496d
2010-11-05 07:00:35 +00:00
Brian Remedios 31f0cdb95f minor tweaks
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7167 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-19 22:32:34 +00:00
Brian Remedios ba533394dc minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7166 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-19 22:31:09 +00:00
Brian Remedios 224986ba86 more dogfood cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7165 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-18 05:10:58 +00:00
Brian Remedios e7ffe349e9 more dogfood cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7164 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-18 03:47:21 +00:00
Brian Remedios f773bb2ffe more dogfood cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7163 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-18 03:39:42 +00:00
Brian Remedios 307bc3b159 more dogfood cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7162 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-18 03:35:27 +00:00
Brian Remedios 2bb58ff4b7 dogfood cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7161 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-18 03:28:26 +00:00
Brian Remedios c86191cc01 Cleaned up description verbiage, standardized example formatting and expanded on some.
Removed redundant 'Rules' portion of ruleset names. No functional changes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7160 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-18 02:53:25 +00:00
Brian Remedios e85e7fe850 Cleaned up description verbiage, standardized example formatting and expanded on some.
Removed redundant 'Rules' portion of ruleset names. No functional changes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7159 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-17 23:52:39 +00:00
Brian Remedios 9b60713f83 Cleaned up description verbiage, standardized example formatting and expanded on some.
Removed redundant 'Rules' portion of ruleset names. No functional changes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7158 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-17 22:45:21 +00:00
Brian Remedios 2d0720b749 cleaned up CRs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7157 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 04:07:48 +00:00
Brian Remedios 1f7b0c361a !!!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7156 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:54:59 +00:00
Brian Remedios 25093cb56c !!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7155 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:54:40 +00:00
Brian Remedios b00759052e !!!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7154 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:54:15 +00:00
Brian Remedios cbe2577d02 !!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7153 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:53:29 +00:00
Brian Remedios 8a860ff05c !!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7152 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:50:08 +00:00
Brian Remedios 2f5a834dab !!!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7151 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:49:35 +00:00
Brian Remedios 285a3a85d4 smaller chunks at a time maybe?
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7150 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:48:26 +00:00
Brian Remedios da1040366d !!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7149 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-05 03:46:43 +00:00
Brian Remedios 8b5812d6e9 work-in-progress
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7148 51baf565-9d33-0410-a72c-fc3788e3496d
2010-10-01 02:58:54 +00:00
Brian Remedios 091061b691 Cleaned up description verbiage, standardized example formatting and expanded on some.
Removed redundant 'Rules' portion of ruleset names. No functional changes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7147 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-30 07:29:05 +00:00
Brian Remedios 9d6643696f +horizontal sash in ASTView, general refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7146 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-29 15:59:18 +00:00
Brian Remedios 12b79c1fff updated Project prefs table, rm unnecessary this. prefixes, rm dead code
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7145 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-29 02:52:48 +00:00
Brian Remedios b1847bbfc8 Syntax colouring in summary examples, externalized strings, minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7144 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-28 14:35:09 +00:00
Brian Remedios de83352988 updated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7143 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-25 12:40:26 +00:00
Brian Remedios 753eaef123 Cleaned up preferences, new Summary tab/page
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7142 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-25 12:34:54 +00:00
Brian Remedios dad9d14885 rm unnecessary 'this.' prefixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7141 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-22 05:09:55 +00:00
Brian Remedios 16b75b1736 rm unnecessary .this references
cleaned up poor stream/reader/writer resource closures

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7140 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-17 08:00:54 +00:00
Brian Remedios 0a176090ca Various code cleanup:
unrequired imports, modifier ordering, etc.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7139 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-16 19:20:30 +00:00
Brian Remedios 3ce7058772 new preference item: useCustomPriorityNames - not enabled yet
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7138 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-16 04:58:03 +00:00
Brian Remedios 5e6bc27747 Numerous bugfixes, improved XPath rule creation validation
Specified default 'user-specified' priority names
Renamed remaining MSGKEY-prefixed String keys
New reset-to-default-values in rule properties menu (single item for now)
New PMD Name column in marker prefs table & new column tooltips for same
Commented-out original PMD preferences view from main preference tree
Repositioned Language min/max & priority fields
Updated to latest PMD core

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7137 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-15 08:43:46 +00:00
Brian Remedios 7eb36c9e75 Updated all StringBuffer-related rules to handle StringBuilder references the same way, expanded test suites
Formatting - cleaned up lack of indentation on RuleSet and one or two others

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7136 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-14 08:35:21 +00:00
Brian Remedios e29823112f updated PMD jar
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7135 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-12 07:09:52 +00:00
Brian Remedios 18f544c28e updated PMD jar with latest changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7134 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-12 07:07:57 +00:00
Brian Remedios 78efc535ad reformat mis-positioned value attributes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7133 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-12 05:39:44 +00:00
Brian Remedios 5852984a3b revert value->defaultValue attribute name change, fix related tests
trap xalan indent-number attribute setting
bugfix for hasDescriptor method

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7132 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-12 05:10:08 +00:00
Brian Remedios 2c28d1aac1 misc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7131 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-11 03:32:35 +00:00
Brian Remedios 37d5ee01f4 RulePriority preferred name fixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7130 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-11 03:19:28 +00:00
Brian Remedios cc3fda5fe5 +minor enhancements
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7129 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-11 01:03:43 +00:00
Brian Remedios b9f22db286 misc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7128 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-10 09:37:13 +00:00
Brian Remedios 39453cd5be bugfix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7127 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-10 09:27:29 +00:00
Brian Remedios bc4305a73f refactoring priority-related items into new package
XPath rule handling
new bug list

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7126 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-10 08:51:18 +00:00
Brian Remedios 2f2e6fe9b6 Cleaned up descriptions, examples, formatting, etc.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7125 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-10 06:14:31 +00:00
Brian Remedios af91a0f339 minor bugfixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7124 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-09 07:30:56 +00:00
Brian Remedios a06668b06a minor misc..
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7123 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-07 16:10:49 +00:00
Brian Remedios f90e41283f Refactored ASTView & DataflowView with new superclass, improved NewPropertyDialog error handling
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7122 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-07 08:39:18 +00:00
Brian Remedios 7c8c154316 Decorator-related bugfixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7121 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-02 09:02:55 +00:00
Brian Remedios 37a510861e reworked column hiding approach
+CollapseAll controls for more views
+Derivative labeling for AST nodes

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7120 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-02 07:28:18 +00:00
Brian Remedios dcb32eb683 misc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7119 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-02 02:16:55 +00:00
Brian Remedios b36928b173 property change handlers for views, string updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7118 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-02 02:00:49 +00:00
Brian Remedios 9f3712c728 refactoring, removing redundant MSGKEY_ prefixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7117 51baf565-9d33-0410-a72c-fc3788e3496d
2010-09-01 04:57:16 +00:00
Brian Remedios 6dd9058c7f Better details in method lists, separate header/body menus in rule table, proper hide/show behaviour in Exclusion panel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7116 51baf565-9d33-0410-a72c-fc3788e3496d
2010-08-31 09:46:56 +00:00
Brian Remedios 289d1dce9d Lots of nice updates:
* Colour syntax highlighting for all relevant editors & example viewers.
* User-selectable marker shapes and colours, violation decorators in the navigator tree
* New AST view and related XPath test editor
* Rule search (page form only, non-functional)

Disabled Quickfix views until its ready
Zapped several nevarious bugs in previous functionality

Note: for the time being, violation errors will not appear in the Problems
      page. There is a conflict between having unique markers and 'standard'
      error markers that denote inclusion in the error page. Will check out
      the use of annotations to deal with this...

For evaluation:
   The size and scope of the rule editor is (I believe) outgrowing its
   placement within its preference page and it needs to be parked within
   it own view. Besides, tracking all the edits being made to the rules
   goes beyond what the pref pages can handle (i.e. apply/cancel...
   which never worked properly for the rules in any case)

   To that end, I've copied the rule table into its own view for now and
   left the one in the preference page as is so we can compare & contrast.
   Only one will remain by the time the best approach is chosen.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7115 51baf565-9d33-0410-a72c-fc3788e3496d
2010-08-31 05:31:48 +00:00
Brian Remedios 90a97847ec test commit, bugfix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7114 51baf565-9d33-0410-a72c-fc3788e3496d
2010-08-31 02:55:25 +00:00
Brian Remedios c1f54d7444 +missing additional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7113 51baf565-9d33-0410-a72c-fc3788e3496d
2010-08-03 03:48:48 +00:00
Brian Remedios e9ba34b45a New ability to use different shapes & colours to denote the various rule priorities (new UISettings class).
Will eventually allow these to be user-specified and part of the markup in the vertical rulers.
Revised ViolationView priority filter buttons to match.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7112 51baf565-9d33-0410-a72c-fc3788e3496d
2010-08-03 03:46:13 +00:00
Brian Remedios c316c4363a + class missing from previous update
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7111 51baf565-9d33-0410-a72c-fc3788e3496d
2010-07-30 22:22:14 +00:00
Brian Remedios 088f9ad32c Updated priority displays, bugfix for enum property editor, revised labeling for group column header, separate column (&sorting) for checkboxes, revised own TODO list
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7110 51baf565-9d33-0410-a72c-fc3788e3496d
2010-07-30 22:20:48 +00:00
Brian Remedios 3e52bf6b27 +properties column now highlights non-default values (still a bit buggy)
+internals: new visitor pattern for manipulating all selections
+able to disable rules from the violation list
+grouped rules show all unique priority values
+revised filter column icons
+revised plugin.xml to export code for other plugins
+new opening Rule panel for Rule creation wizard

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7109 51baf565-9d33-0410-a72c-fc3788e3496d
2010-07-26 05:23:43 +00:00
Brian Remedios fc4b551a54 +support for reverting to default property values
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7108 51baf565-9d33-0410-a72c-fc3788e3496d
2010-07-26 04:57:27 +00:00
Romain Pelisse da79fd8333 Applied patch from Juan Jesus Garcia de Soria on CPD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7107 51baf565-9d33-0410-a72c-fc3788e3496d
2010-07-24 14:34:44 +00:00
Radim Kubacki 6dd5cba823 Document changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7103 51baf565-9d33-0410-a72c-fc3788e3496d
2010-06-18 14:00:21 +00:00
Radim Kubacki 6e2dc1255b Avoid dependency on Editor Library and this makes the plugin compatible with NB6.5-6.9 (supposedly, I tried NB6.8&6.9 only)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7102 51baf565-9d33-0410-a72c-fc3788e3496d
2010-06-18 13:42:53 +00:00
Radim Kubacki 79c6202f5b Fix compatibility problem with recent NetBeans version. Supposedly will work with NB6.9 now.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7101 51baf565-9d33-0410-a72c-fc3788e3496d
2010-06-18 12:36:55 +00:00
Dale Anson c5bf008330 Some code clean up, updated docs in prep for release.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7097 51baf565-9d33-0410-a72c-fc3788e3496d
2010-06-15 17:08:19 +00:00
Dale Anson 5da1cf0139 Cleaned up the option panes and added in ability to use jsp rules.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7096 51baf565-9d33-0410-a72c-fc3788e3496d
2010-05-26 15:44:19 +00:00
Brian Remedios 3e134d9ccc upgraded all dependencies to v3.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7095 51baf565-9d33-0410-a72c-fc3788e3496d
2010-04-04 05:32:40 +00:00
Brian Remedios 46263cb479 upgraded jface dependency to v3.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7094 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-27 13:14:27 +00:00
Brian Remedios 92eea22e4a updated manifest for new Eclipse dependency
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7093 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-26 00:52:08 +00:00
Brian Remedios b767617542 Preferences
* Rule activation checkboxes now operational - only the checked rules are used to evaluate code. No longer need to physically remove rules from the ruleset to bypass them. Settings are stored in preferences and the number of active rules is shown in the dialog when PMD runs a scan. Minor UI bug in group-by mode doesn't render parent node checks initially.
* New SelectAll/None buttons and a SortByChecked items button. Replaced several text buttons with icon versions
* Selected rules & property tabs retained by UI preferences between sessions
	
Fixes
* New column in rule table showing number of available fixes per rule (just two for now). The new 'Fixes' tab in the properties folders needs additional work to complete it. The Fix menu option in the violations context menu works now for the two rules that have them. Need to provide better storage for rule-fix associations - current approach only stores fix classnames - should support classname + static instance var.

CPD
* Added launch button for the Swing version of the CPD UI to the preference page. Need to migrate its better functionality to the SWT version.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7092 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-26 00:16:57 +00:00
Dale Anson 57029a4bc9 @Deprecated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7091 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-09 18:30:54 +00:00
Dale Anson cea38fd0f4 Better display of rule priority, added a method to better format the example area.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7090 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-09 18:30:16 +00:00
Dale Anson aabbdad14d Check buffer mode rather than file name extension.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7089 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-09 17:21:40 +00:00
Brian Remedios 4fc136dd9b Refined action enablement for showRule menu option
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7088 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-04 19:22:52 +00:00
Brian Remedios c5cf47854a Refactored error handling, disable actions when no violations are selected
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7087 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-04 18:52:30 +00:00
Brian Remedios a7d9d9297e Bugfix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7086 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 20:58:33 +00:00
Brian Remedios ae0e87daa1 + missing utility class for repository access
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7085 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 16:03:02 +00:00
Brian Remedios c60d6c931c Rule table now shows sort column indicators
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7084 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 15:59:50 +00:00
Brian Remedios 99f1cfff8b new tab icons, updated changelog & plugin.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7083 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 15:53:56 +00:00
Brian Remedios 5b0a32df4e Refactorings: new packages for CPD & dataflow views, new abstract superclasses for actions, commands, views. For-loop conversions, ArrayList -> List reference changes.
Rearranged context menu icons - still need some unique ones for three other entries
Dataflow: NPE fix post view closing, view always shows first method by default, labeled method list, new tab icon, outlined & positioned nodes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7082 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 15:51:45 +00:00
Brian Remedios 293f908f25 Centralized marker deletion & sourcing.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7081 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 15:37:07 +00:00
Brian Remedios 1b75a0519b Misc typos, no semantic changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7080 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 06:07:17 +00:00
Brian Remedios 167e73fdc8 A better empty string check
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7079 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 04:39:55 +00:00
Brian Remedios 480dda3e32 Updated text-numeric fields to use spinner widgets instead.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7078 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-03 04:38:29 +00:00
Brian Remedios 231a163f28 Updated dialog with modern spinner widget
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7077 51baf565-9d33-0410-a72c-fc3788e3496d
2010-03-02 02:33:00 +00:00
Brian Remedios 776c05d1f9 Now using native column sort indicators. Go Team Canada!
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7076 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-28 21:35:12 +00:00
Brian Remedios 8751881f86 Bugfix & typos
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7075 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-27 23:12:57 +00:00
Brian Remedios a2a2c3c321 Minor: replaced icon file names with existing constants
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7074 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-16 16:23:20 +00:00
Brian Remedios 9b15b5e391 Refactored the descriptor factories onto the property descriptors themselves.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7073 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-16 16:16:45 +00:00
Ryan Gustafson b069ec1098 Performance optimization for ends-with type include/exclude patterns. Assuming one has N patterns, and M files to check, one starts to see noticeable improvements once N*M is greater than 100,000.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7072 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-13 05:35:55 +00:00
Brian Remedios 7e3739d463 Initial revisions updating the creation of PropertyDescriptors to/from XML via factories & more reflective descriptors. Will probably break some tests until we settle on a consistent XML schema.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7070 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-07 00:22:31 +00:00
Brian Remedios d31715dc34 Initial revisions updating the creation of PropertyDescriptors to/from XML via factories & more reflective descriptors. Will probably break some tests until we settle on a consistent XML schema.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7069 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-07 00:18:43 +00:00
Ryan Gustafson 5ebf102fe7 Add reference to QAPlug for Intellaj IDEA.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7068 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-02 15:59:13 +00:00
Ryan Gustafson 53199b618a Add reference to SolidSDD, similar to CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7066 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-26 00:53:01 +00:00
Brian Remedios 9bce16bde0 bugfix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7065 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-16 14:41:36 +00:00
Brian Remedios 673e614a38 +Javadoc
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7064 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-12 01:04:04 +00:00
Brian Remedios 0bf768abb3 minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7063 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-12 01:00:10 +00:00
Brian Remedios 3d3f4d98eb update ToDo list
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7062 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-09 16:35:31 +00:00
Brian Remedios a21b1b320b Priority column now uses compact icons, new property editor tester
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7061 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-09 16:10:44 +00:00
Romain Pelisse 32fe36028d fixed bug False+ on CloseResource - ID: 2920057 by applying Nicolas Dordet patch.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7060 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-08 17:16:35 +00:00
Brian Remedios c114e27594 property editor improvements, i18l updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7059 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-07 05:16:57 +00:00
Brian Remedios 193d5bde5e updated for generic signature in util method
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7058 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-07 02:27:14 +00:00
Brian Remedios 456d612252 Added some missing types, expanded comments, formatting.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7057 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-07 02:24:41 +00:00
Brian Remedios 449d70262f Added new XPath filter column that renders coloured circle values.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7056 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-04 07:59:57 +00:00
Brian Remedios b4e12e4886 Bugfix for tardy redraw/updates in filter column for regex exclusion filter changes, nice & pronto now :)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7055 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-04 06:44:34 +00:00
Brian Remedios 4b12f4c30e Updated ToDo list
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7054 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-04 04:57:21 +00:00
Brian Remedios afa078ca82 Removed redundant Edit rule button, Since field from the Add rule dialog. New tooltips over table cells provide greater detail: hover over a coloured box in the filter column to bring up the filter expression. Rule table now remembers visible/hidden columns between sessions (need to park the prefs file in a std location though).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7053 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-04 04:24:13 +00:00
Brian Remedios 2cafbf9243 I18L updates, UI tweaks, additional displayable rule columns available via popup menu
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7052 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-03 18:07:05 +00:00
Brian Remedios eb50e46f89 I18L updates, better explanatory tooltips for rule aspect column headings, initial MultiEnumerationEditor (read-only for now), bugfixes for spinner widget updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7051 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-03 04:32:29 +00:00
Brian Remedios 5d06e3bdae Added language column & grouping capability to rule table, revised console output
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7050 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-02 20:25:50 +00:00
Dale Anson c478bbc7bf Set parent of custom rules dialog to PMD option pane so it can be centered properly.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7048 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-22 16:35:21 +00:00
Brian Remedios e67a7ca91d bugfix for previous commit
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7047 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-20 07:42:39 +00:00
Brian Remedios 391805fc1e Additional constructors for packaged property types (Class/Type/Method)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7046 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-20 07:03:15 +00:00
Ryan Gustafson 3c6f2d27ff Update to latest PMD core. And Rhino jar update.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7045 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-19 07:32:11 +00:00
Ryan Gustafson 5012b2b129 Renamed the XML Schema and DTD to follow a version naming scheme. Remove the clearly redundant _xml_schema from the XSD. Perhaps ruleset_extensible_markup_language_schema_definition.xsd was too long. ;)
A public version will be found at: http://pmd.sourceforge.net/ruleset_2_0_0.xsd|dtd

Unclear to me what makes that happen, but we'll figure it out.  Need to make sure we don't clobber the pre-5.0 versions when we publish.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7044 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-19 01:35:10 +00:00
Dale Anson 12cb178838 Added dialog to select custom rule files. Removed the option pane to select custom rules. This makes it possible to update the rules tree immediately and allows the user to select/unselect custom rules right away.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7043 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-19 00:11:58 +00:00
Dale Anson 4257d8b670 Deleting KappaLayout and am using the one in the CommonControls plugin.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7042 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-18 17:45:46 +00:00
Romain Pelisse 3d439fadf2 adapting docs generation to new rulesets directory layout
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7041 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-18 16:24:56 +00:00
Ryan Gustafson 23dbb71036 Add Eclipse plugin as a TODO.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7040 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-18 04:06:58 +00:00
Ryan Gustafson e1ef462778 Remove items from changelog.txt into TODO.txt that are not release critical for 5.0. Organized the remaining items into code/doc categories.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7039 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-18 04:02:27 +00:00
Dale Anson 6dc8da52f8 Oops! Forgot to add this file with last commit. This is the new option pane to let the user choose custom rulesets.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7038 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-17 23:55:11 +00:00
Dale Anson 31e4d5e15e Added new option pane to allow the user to select custom rulesets.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7037 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-17 23:52:53 +00:00
Dale Anson 987850f9aa Added ability to export the current ruleset.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7036 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-17 21:10:22 +00:00
Ryan Gustafson bfb8385e2b New Ecmascript rule: ScopeForInVariable
Minor tweaks to EcmascriptNode/EcmascriptParser.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7035 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-16 11:04:31 +00:00
Ryan Gustafson 9cec051dcb Add support for decorating PMD AST nodes. This is _not_ for Rules to use (really bad idea), but for external usages of the PMD AST building infrastructure, where the application is in control of the AST lifecycle. Basically a rip-off of DOM Level 3 set/getUserData API. Let's one put custom data directly on the nodes, instead of managing a node<-->data mapping externally.
Expose the underlying Rhino AST node on the EcmascriptNode.  We're already intimately tied to the Rhino AST here anyway.  Using the PMD AST gives you a _real_ visitor API not the do-nothing NodeVisitor the Rhino AST supports natively.  With this change you can get at the underlying Rhino AST when really needed.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7034 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-15 08:40:31 +00:00
Dale Anson 56e0c32334 Documentation update.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7032 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-14 00:33:58 +00:00
Ryan Gustafson 0de8b9cbb9 Missed applying the ParserOptions for Ecmascript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7031 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-13 03:09:22 +00:00
Ryan Gustafson bd070a57be Refactor the LangaugeVersionHandlers to use an AbstractLanguageVersionHandler for common implementation.
Include the Document in the AST for the XML language.  For some unknown reason I had been excluding it (on purpose it seems).

Added an AbstractXmlRule for Java based Rule implementations for XML language, not horribly useful, but is consistent with other languages.  Also added AbstactDomXmlRule if one prefers to visit the DOM model.

Add the concept of ParserOptions.  These are given to the Parsers to influence the manner in which the AST is produced.  The XML and Ecmascript languages now both have parser options.  Feedback welcome, perhaps the XML options should be removed?

ParserOptions are exposed as properties on XPath and Java based rules for the XML and Ecmascript languages.  In the future, I'll change the PMD class to produce a separate AST for each unique ParserOption option.  That requires dividing the Rules into equivalence classes based upon their ParserOptions (i.e. interrogation of RuleSets and division of labor).  For now, only the LanguageVersion default ParserOptions will be used, so you cannot practically use these features on Rules unless you hack the code a bit.  If you're using the Parsers directly, you can take advantage of this immediately.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7030 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-13 02:43:27 +00:00
Ryan Gustafson 321300cb2c Update to newer version of Rhino CVS. Been a year and the patch I submitted (bugzilla 468396) still hasn't been applied, so this isn't a clean build from CVS. I've also got a patch to SwitchCase.getStatements() to return an empty array instead of null, which is consistent with other Rhino AST behaviors.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7029 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-12 21:12:58 +00:00
Dale Anson b6f25c6a0e Added vararg to constructor so it matches with super constructor.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7028 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-12 16:22:39 +00:00
Dale Anson b936c21fae Update to pmd 4.2.6, added code to let CPD parse files for all jEdit modes. Note this relies on a modification to AnyLanguage in CPD that is not yet in subversion but is in the pmd-4.2.6.jar included with this plugin.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7026 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-10 05:11:13 +00:00
Dale Anson 9ec19acc85 Updated changelog to note Ecmascript is now supported by CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7022 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 17:04:46 +00:00
Dale Anson aa76e75e10 Changed javascript to ecmascript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7021 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 17:01:15 +00:00
Dale Anson 8de42089d4 Renamed javascript to ecmascript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7020 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 16:57:00 +00:00
Dale Anson 47d2a38dea Added javascript as a supported language for CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7018 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 02:05:38 +00:00
Ryan Gustafson f4b286f687 Add support for Unicode for JSP/JSF.
Add support to not parse body of <script> for JSP/JSF.
Add new NoInlineScript rule for JSP/JSF.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7017 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-05 22:51:55 +00:00
Dale Anson 1a5e730cbb Put hard-coded strings in properties file so they can be localized.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7014 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-05 17:25:18 +00:00
Dale Anson acd9383c56 Added dialog to let the user choose the types of files to run CPD against from the VFSBrowser.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7013 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-05 17:03:29 +00:00
Dale Anson 1a560840be Code clean up.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7012 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-04 17:13:12 +00:00
Romain Pelisse 632fe9705a fixing performance issue on PreserveStackTrace by removing use of descendant:: axis. See bug 1808110
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7011 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-04 14:54:59 +00:00
Romain Pelisse 7cce040a53 Adding a new rule : GenericsNaming
Thanks to Nicolas Dordet for his inputs on this one.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7008 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-04 13:32:51 +00:00
Romain Pelisse 3b35cf55af adding a new XPath rule : AvoidAxisNavigation.
(Note that the description of the rule is from an email sent to me by Ryan Gustavson)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7007 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-03 23:50:29 +00:00
Dale Anson 0c6f1b04f5 Updates so CPD can check all supported files, not just Java files. CPD support JSP, PHP, Ruby, C/C++, and Fortran. This is not quite complete, still need to fix the CPD access from the File System Browser. CPD from the Plugins menu works now.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7006 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-03 06:19:27 +00:00
Ryan Gustafson 3aedf63a96 Fix for 2904832. ClassTypeResolver was clobbering the importedClasses in populateImports set by populateClassName. Changed to clobber at ASTCompilationUnit, then everyone adds to the map.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7004 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-27 18:10:15 +00:00
Romain Pelisse daee6c6983 adding a new language (xsl) to pmd plus a first rule (I actually have several more in mind).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7003 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-18 15:53:01 +00:00
Romain Pelisse 2d1f5c162d new rule on use of ConcurrentHashMap obviously does not applied to pmd
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7002 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-14 16:54:26 +00:00
Romain Pelisse 847b76b854 oups, forgot to add new rule to changelog.txt
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@7000 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-14 15:50:25 +00:00
Romain Pelisse 33f33e6e95 Adding a new rule 'UseConcurrentHashMap' to promote use of ConcurrentHashMap implementation in Java 5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6999 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-14 15:49:41 +00:00
Torsten Kleiber ba902fe1ed Release 4.2.5.2.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6994 51baf565-9d33-0410-a72c-fc3788e3496d
2009-10-17 13:41:32 +00:00
Torsten Kleiber 1bc5759ec9 Release 4.2.5.2.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6993 51baf565-9d33-0410-a72c-fc3788e3496d
2009-10-17 13:37:59 +00:00
Torsten Kleiber 2121e42d21 Release 4.2.5.3.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6992 51baf565-9d33-0410-a72c-fc3788e3496d
2009-10-17 13:32:56 +00:00
Torsten Kleiber 2147870178 Release 4.2.5.3.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6991 51baf565-9d33-0410-a72c-fc3788e3496d
2009-10-17 13:29:47 +00:00
Torsten Kleiber 895b50723a Release 4.2.5.3.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6990 51baf565-9d33-0410-a72c-fc3788e3496d
2009-10-17 13:29:11 +00:00
Romain Pelisse 9dab4ff769 Fix bug 2832322 - cpd.xml file tag path attribute should be entity-encoded.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6989 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-16 13:26:04 +00:00
Romain Pelisse ba2d401fbc Oups, this stateless crap of mine from my previous commit was erronous.
Rule are NOT recreated for each new source file, we need to clean the state of this object... Therefore I add this piece of code back.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6987 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-16 01:38:12 +00:00
Romain Pelisse a837cc5a8f Fixing bug 2826119 - False +: DoubleCheckedLocking warning with volatile field
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6984 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 17:56:43 +00:00
Romain Pelisse 0a52c2100c indentation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6983 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 17:54:50 +00:00
Romain Pelisse 7a66c521a6 updating maven-site-plugin to lastest version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6982 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 17:54:01 +00:00
Romain Pelisse 2bd6c20c62 finally fixing bug 'wz-pmd-report.xslt in release 4.2.5 misses file name - ID: 2609540'
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6981 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 17:21:51 +00:00
Romain Pelisse dec39ce09c Fixing bug 2835074 False -: DoubleCheckedLocking with reversed null check
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6977 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 16:01:33 +00:00
Ryan Gustafson d04c4ba159 Duplicate changes made to 4.2.x.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6975 51baf565-9d33-0410-a72c-fc3788e3496d
2009-07-25 05:40:48 +00:00
Dale Anson 3dddbb2a54 Display rule description along with example.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6973 51baf565-9d33-0410-a72c-fc3788e3496d
2009-07-25 05:22:48 +00:00
Ryan Gustafson 067c322be7 Added AvoidLosingExceptionInformation from George Thomas. Backport to 4.2.x to follow soon.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6971 51baf565-9d33-0410-a72c-fc3788e3496d
2009-07-21 01:40:27 +00:00
Romain Pelisse a7dd2548e8 Adding link to my own article, in French, on PMD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6970 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-30 15:19:00 +00:00
Romain Pelisse d042895175 Removing this rule, I failed to implement it properly and I'm not so sure it will really be relevant
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6969 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-30 13:26:04 +00:00
Romain Pelisse 94ceaa29f7 Adding a new rulesets to controversial.xml, with a couple of appropriate test case.
As it does not requires any special feature of PMD 5.0 I'll backport it - unless some of you truly disagree with this rule.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6967 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-29 08:23:56 +00:00
Romain Pelisse e2feebd9c0 Fixing bug 2810228 : updating cpd documentation.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6966 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-22 14:30:47 +00:00
Xavier Le Vourch 8667286499 use mvn quiet option
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6964 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 23:39:52 +00:00
Xavier Le Vourch 4c953e51ee obsolete //FUTURE removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6963 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 23:34:09 +00:00
Xavier Le Vourch 9b57e891ef obsolete // FUTURE tags removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6962 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 21:17:00 +00:00
Xavier Le Vourch 9f2140cd2a new Android rule DoNotHardCodeSDCard taken from my blog article on how to use PMD in Android projects
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6961 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 20:34:40 +00:00
Xavier Le Vourch 282b90f111 code cleanup: javadoc warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6959 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 20:08:33 +00:00
Xavier Le Vourch e9888d47d7 issue with maven site plugin fixed, use explicit version for all maven plugins
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6958 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 19:20:17 +00:00
Xavier Le Vourch 9f1edb9ce3 asm jar updated to 3.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6956 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 00:21:19 +00:00
Xavier Le Vourch b32b4fc612 asm jar updated to 3.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6955 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 00:15:00 +00:00
Dale Anson 8f1c06c5a6 Better messaging to user on parse errors.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6953 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-09 17:45:28 +00:00
Dale Anson bc6b0339a0 renamed to PMDPlugin.props
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6952 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-11 00:46:43 +00:00
Dale Anson 09376270a4 Renamed from pmd.props to PMDPlugin.props to comply with plugin standards.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6951 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-11 00:16:34 +00:00
Dale Anson 1db87472c2 Clean up, removed old, unused files, adjustments to build file and docs.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6948 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 17:47:44 +00:00
Dale Anson 6baa784af8 Adjustments for docs, jars.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6947 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 15:41:23 +00:00
Dale Anson 3fe5ea750f Putting these jars back. I deleted them earlier, thinking they weren't required, but I was obviously wrong.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6946 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 15:39:37 +00:00
Dale Anson 80b5bc5480 Moved jedit.html to doc directory, added doc images.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6945 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 14:57:18 +00:00
Dale Anson e1148d87dc Doc updates.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6944 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 14:53:46 +00:00
Dale Anson 27520d98c3 Adding doc directory.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6943 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 14:51:45 +00:00
Dale Anson a6a45fcfcf Oops! Typo in path for tag.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6941 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 03:13:18 +00:00
Dale Anson 2b591b5500 tag for release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6940 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 03:09:44 +00:00
Dale Anson 5d3918e0ad Clean up of build and props file to remove unused jars, put docs in right place, etc.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6938 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 03:01:05 +00:00
Dale Anson 6109cbd1c4 Made the rules option pane narrower so it would fit on smaller screens without scrolling.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6937 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 02:59:10 +00:00
Dale Anson 8e16865ab7 Deleted unused jar files.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6936 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-07 02:58:06 +00:00
Dale Anson b7b091f81a tag for release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6934 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-05 05:02:18 +00:00
Ryan Gustafson 0b6cefb273 Minor improvement to JavaRuleViolation, extraction of names and suppression status should be pretty explicit and clear now. Major improvements overall compared to the mess that is in 4.2.x.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6933 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-01 06:27:56 +00:00
Ryan Gustafson 614d00b258 Clean up ReportTree.addRuleViolation, to stop using String.split, and += on Strings. This removes a regex, and vastly reduces the number of memory/buffer allocations that are going on.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6932 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-01 04:57:10 +00:00
Ryan Gustafson 6157a3ce2c Use StringUtils.replaceString, instead of String.replace.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6931 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-01 04:53:57 +00:00
Ryan Gustafson 24cd90a0c1 Tune StringUtils.replaceString methods to delay buffer allocation until necessary, and to allocate a larger buffer up front if needed.
This is faster than String.replace(String, String), which uses regex under the hood.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6930 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-01 04:53:26 +00:00
Ryan Gustafson 1a18003f2e Clean up RuleViolationComparator, implement without funky usage of .equals, instead of compareTo, etc. Runs a small bit faster too (when there are 100,000s of violations :)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6929 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-01 04:09:24 +00:00
Ryan Gustafson 38b13aee84 Tweak InefficientStringBuffering Rule to not use Exceptions during normal evaluation. Thanks to YourKit profiling for making this apparent.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6928 51baf565-9d33-0410-a72c-fc3788e3496d
2009-05-01 02:10:31 +00:00
Ryan Gustafson ee862dfec1 Dogfood now contains AvoidBranchingStatementAsLastInLoop.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6927 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-28 05:34:25 +00:00
Ryan Gustafson 8199ab32d8 Add new Java Basic Rule: AvoidBranchingStatementAsLastInLoop
Cleanup changelog.txt, and the 50.xml.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6926 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-28 05:16:39 +00:00
Ryan Gustafson 11dddb5b87 Fix AIOOBE, remove stray sysouts.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6925 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-27 00:30:08 +00:00
Ryan Gustafson bf6515d3c8 AvoidUsingHardCodedIP modified to not use InetAddress.getByName(String), instead does better pattern analysis. InetAddress.getByName(String) adds a dependency on the networking layer, and can easily add seconds per call to the Rule execution time.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6924 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-27 00:14:39 +00:00
Ryan Gustafson 482e804fd8 Remove unnecessary stand-alone test case, as the XML version works just fine, just needed to be marked as regressionTest="false".
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6923 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-25 04:56:49 +00:00
Xavier Le Vourch be4d3dd6b4 hudson server's address changed to xlv-labs.com
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6922 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-24 05:25:49 +00:00
Ryan Gustafson 85d4e6b3ed Correct typeof function to not return true by default, and to not match when a Node's syntactic type matches it's TR type (i.e. self matching).
These were bugs introduced when refactoring for XPath 2.0 support.  Really need to get better test coverage.  Automatic comparison of violations between PMD versions on the same code base would have made this problem immediately apparent.  I'm just too lazy to be doing these kinds of regression tests by hand (it needs to be automatic).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6921 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-24 04:21:17 +00:00
Ryan Gustafson 7e6b49e3b7 Fix build.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6920 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-24 03:11:13 +00:00
Ryan Gustafson 09ae59bcf9 Fixed bug 2724653 - AvoidThreadGroup reports false positives
Changed Rule to use Type Resolution.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6919 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-24 02:55:14 +00:00
Dale Anson 9f9e9856a0 work on option panes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6917 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-21 05:46:16 +00:00
Dale Anson a66aff112e Update library files, new PMD 2.4.5 jar, removed oro, pmd 4.1, and pmd-swinggui jars since they are no longer used.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6916 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-20 18:19:23 +00:00
Dale Anson 0615f0a57c General updates -- upgrade to PMD 2.4.5, updates to option panes, action for designer.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6915 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-20 05:05:51 +00:00
Ryan Gustafson 035cc0b7c9 Rules can now use violation specific values in messages, specifically ${variableName}, ${methodName}, ${className}, ${packageName}.
Minor tweak to JavaRuleViolation to report a variable name for ASTVariableDeclarator fields.

Added Java Optimization ruleset Rule RedundantFieldInitializer, submitted by Lucian Ciufudean.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6914 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-19 09:02:33 +00:00
Ryan Gustafson 013fba22a2 Correct -benchmark reporting of Rule visits via the RuleChain
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6913 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-18 08:23:33 +00:00
Xavier Le Vourch cf7166a78c new clover license
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6911 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-31 01:04:15 +00:00
Ryan Gustafson 874c5013cc Remove unused import.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6909 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-30 04:22:29 +00:00
Ryan Gustafson f9a41b44ab Add test cases for variable expansion in violation message. Enhance replacement logic to escape variable references to non-existent properties, so that MessageFormat does not barf on them. Not 100% foolproof, but should be good enough considering what limitations folks would already be under because of MessageFormat requirements.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6908 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-30 04:21:04 +00:00
Ryan Gustafson 771cc59624 Update dogfood for new junit Rules.
Simplify the RuleViolationFactory API, with ripple changes to implementations, RuleViolation implementations, and AbstractRule which uses the factory.

Change AbstractRuleViolationFactory to support expanding '${propertyName}' in messages.  This will allow Rule messages to use property values in them.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6907 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-30 03:47:29 +00:00
Ryan Gustafson 1344157203 Add missing extrernalUrl property.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6906 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-29 23:20:56 +00:00
Ryan Gustafson 6ccb5a260a Added new junit rules: JUnitTestContainsTooManyAsserts, UseAssertTrueInsteadOfAssertEquals
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6905 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-29 22:37:50 +00:00
Xavier Le Vourch 5a4ee14831 code cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6904 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-28 23:15:12 +00:00
Xavier Le Vourch 139871ffb5 merge of the violationsAsErrors config option from the 4.2.x branch
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6902 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-28 20:31:36 +00:00
Xavier Le Vourch fc3347d73a added 2009 in copyright
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6901 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-28 20:13:21 +00:00
Xavier Le Vourch 6176b37e22 merge from 4.2.x branch: unpack after install to make sure code fragments can use PMD classes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6900 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-28 20:11:03 +00:00
Xavier Le Vourch 53776fc201 incorrect extension point in documentation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6895 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-23 18:02:58 +00:00
Xavier Le Vourch 1ecae7ae3e AvoidLiteralsInIfCondition rule ignored in dogfood rulesets
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6892 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-22 23:41:12 +00:00
Xavier Le Vourch e185ff8215 CallSuperLast rule now also checks for finish() redefinitions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6890 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-22 23:05:14 +00:00
Xavier Le Vourch e606357121 new rule AvoidLiteralsInIfCondition added to controversial ruleset
Patch contributed by Nadhamuni Kothapalle

https://sourceforge.net/tracker/?func=detail&atid=479923&aid=2591627&group_id=56262


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6889 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-22 23:02:16 +00:00
Brian Remedios b4d2fa0e31 Updated Javadoc (a process reminder for myself)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6887 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-10 03:14:13 +00:00
Brian Remedios ef36aee425 Misc for-loop conversions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6886 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-09 22:46:03 +00:00
Brian Remedios 53dd793369 Restored ability add new variables for XPath rules, the dialog is raw but will be tweaked. Need to modify the Rule interface in PMD property to be able to drop them...upcoming.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6885 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-09 22:43:12 +00:00
Radim Kubacki e34b601585 udpating PMD too - now it is 4.2.5 so changing version.
a missing part of previous Marek's patch for layer

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6882 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-05 05:01:35 +00:00
Radim Kubacki 4397150448 updating to a new version - patch contributed by Marek Slama (marek.slama at sun dot com)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6881 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-05 04:16:06 +00:00
Ryan Gustafson 1b2aabc93b Fixed bug 2645268 - ClassCastException in UselessOperationOnImmutable.getDeclaration
Problem was due to incorrect assumption about AST structure, when Annotations are present on a local declaration.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6880 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-01 09:58:09 +00:00
Brian Remedios 1254933e74 misc loop conversion
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6878 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-27 16:17:05 +00:00
Brian Remedios 5c98ea43c1 Adjust field colouring to reflect overridden property values, added missing XPath version field.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6877 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-27 16:11:56 +00:00
Brian Remedios 491a6e34e8 Bugfix for disappearing rule after adding new one.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6876 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-25 02:25:12 +00:00
Brian Remedios 837c81cfb4 Added new panel to the preference page for XPath settings. Relevant tabs show "-----" when disabled now.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6875 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-24 00:17:17 +00:00
Xavier Le Vourch 6d0799ad6f Fixed bug 2606609 - False "UnusedImports" positive in package-info.java
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6873 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 17:28:29 +00:00
Xavier Le Vourch af96d35b5a wrong test case for Bug 2606609 : False "UnusedImports" positive in package-info.java
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6872 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 17:19:26 +00:00
Brian Remedios beb9f12d23 Loop conversions, extURL validation, minor ui cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6871 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 15:41:58 +00:00
Brian Remedios 37b2f9a3ab typos
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6870 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 15:28:59 +00:00
Brian Remedios ba9ee69e86 Deprecation tags, for-loop and StringBuffer conversions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6869 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 15:22:59 +00:00
Brian Remedios b9ded04e51 For loop and StringBuffer->StringBuilder conversions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6868 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 15:07:21 +00:00
Xavier Le Vourch 461cf80bfd pmd.jar updated to snapshot version 6861
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6867 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 19:29:25 +00:00
Brian Remedios c560315d0a Refactored packages, additional fields & panels, numerous bugfixes & improvements. Almost ready for prime time. Requires latest PMD 5.0 jar.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6866 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 09:28:09 +00:00
Brian Remedios a8718ea86b Text cleanup: removed leading spaces from descriptions & code, formatted code examples consistently.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6865 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 09:16:08 +00:00
Brian Remedios 420ab1b35b Text cleanup: removed leading spaces from descriptions & code, formatted code examples consistently, zapped numerous typos.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6864 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 09:10:59 +00:00
Brian Remedios fef4a4e39b Text cleanup: removed leading spaces from descriptions & code, formatted code examples consistently, zapped numerous typos.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6863 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 08:58:44 +00:00
Brian Remedios 60de38f2af Text cleanup: removed leading spaces from descriptions & code, formatted code examples consistently, zapped numerous typos.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6862 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 08:40:06 +00:00
Brian Remedios bf4843d9bc A bugfix and new general utility functions used by the Eclipse plugin.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6861 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-22 07:45:52 +00:00
Romain Pelisse 50e9be7153 Merging with xlv fix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6860 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-20 11:21:47 +00:00
Xavier Le Vourch c982826e41 test case failed as '}' was missing
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6859 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-20 02:46:22 +00:00
Romain Pelisse eb9b8ad142 Test case and fix for bug [2317099 ] false + in SimplifyConditional.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6857 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-19 22:45:26 +00:00
Romain Pelisse 2595a6966a Oops, small typo in a test file
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6854 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-18 22:57:41 +00:00
Romain Pelisse 5baf82945f Reproduced bug 2614040 : false + if a += assignment operator is used insidea method call
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6853 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-18 22:57:06 +00:00
Romain Pelisse 66b9d1cbd0 merged
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6852 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-18 22:56:30 +00:00
Romain Pelisse 901e64073a Issue does not reproduce in trunk... I'll check if the fix can be backport to 4.2.X branch
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6851 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-17 00:49:21 +00:00
Romain Pelisse fc3fc3fcba Reproducing bug False 2606609: 'UnusedImports' positive in package-info.java
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6850 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-17 00:48:30 +00:00
Xavier Le Vourch 4a385f8ace AvoidCatchingGenericException excluded from dogfood ruleset
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6846 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-12 20:17:37 +00:00
Xavier Le Vourch 42a4eeb7e5 new rules added, keeping rulesets and rules sorted
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6845 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-12 20:07:19 +00:00
Xavier Le Vourch b56716e52a New rule in strictexceptions : AvoidCatchingGenericException
patch submitted by Nadhamuni Kothapalle

https://sourceforge.net/tracker/?func=detail&atid=479923&aid=2591604&group_id=56262


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6844 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-12 19:54:36 +00:00
Xavier Le Vourch 596606d56f android ruleset was not in changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6833 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 01:19:53 +00:00
Xavier Le Vourch 595c976cdb note for Fixed bug 2027626 - False + : AvoidFinalLocalVariable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6827 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 00:43:23 +00:00
Romain Pelisse 5d323e8d2d Fix for bug 2027626: False + : AvoidFinalLocalVariable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6826 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 22:05:01 +00:00
Romain Pelisse afdc81bb43 Adding test case to reproduce bug 2027626:False + : AvoidFinalLocalVariable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6825 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 22:03:43 +00:00
Xavier Le Vourch 0139b91533 2009 added to copyright
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6822 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 21:34:24 +00:00
Xavier Le Vourch 744e8ed6fd Fixed bug 2142986 - UselessOverridingMethod doesn't consider annotations
new property 'ignoreAnnotations' to get the old behavior


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6819 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 19:45:22 +00:00
Xavier Le Vourch dbbd405825 merge from 4.2.x branch:
Bug fixing 1609038 - Xslt report generators break if path contains 'java'.

As suggested by bug reporter i switch call to 'translate' and call to 'substring-before'.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6817 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-05 20:09:39 +00:00
Xavier Le Vourch 60efdb026d new rule in strictexception: AvoidThrowingNewInstanceOfSameException
contributed by George Thomas:

https://sourceforge.net/tracker/?func=detail&atid=479923&aid=2566369&group_id=56262


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6815 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-05 03:40:38 +00:00
Xavier Le Vourch bdffdc9db8 CallSuperFirst android rule now accepts logging before call to super()
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6813 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-04 23:58:40 +00:00
Romain Pelisse 307997cdc3 Adding testcase for bug '2225474 - VariableNamingConventions does not work with nonprimitives' however as the underlying rule has been completly rewritten since, this case has been handed properly (or so it seems)... So nothing to fix here.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6808 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-28 21:10:09 +00:00
Xavier Le Vourch ec72c6b30b oops, forgot to commit the new ruleset
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6806 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-28 01:35:19 +00:00
Xavier Le Vourch 35ae8858e6 ruleset paths updated to new directory structure, warnings for moved rules
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6805 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-28 01:20:30 +00:00
Xavier Le Vourch 6ce2ec41e5 new ruleset for Android platform
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6804 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-28 01:04:22 +00:00
Xavier Le Vourch 40dc810792 Recent change in UseSingleton introduced a false + for methods with annotations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6801 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-27 23:42:24 +00:00
Xavier Le Vourch 839f2cb950 default and max values were too low, 2 and 10 respectively. 4.2.x has a default
of 20 so for compatibility, the new values are min 2, max 100 and default 20

code reformatting


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6799 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-25 06:58:28 +00:00
Xavier Le Vourch 3f6341862b code cleanup: grammar and spelling
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6798 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-24 18:49:24 +00:00
Brian Remedios 1884a2621e + support for multi-method properties and various bugfixes.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6796 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-18 22:42:51 +00:00
Xavier Le Vourch 5643e06b8e use eclipse.home to set baseLocation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6795 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-18 22:21:24 +00:00
Brian Remedios 177fa473dc Added edit support for Method property types, new selection widgets for types & methods.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6793 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-18 07:51:35 +00:00
Brian Remedios 6c6fbab9be Updated multi-value editors for String, Type, and Integer, no popup dialogs req'd :) Bugfixes for enumerated type, spinner widgets for floats & doubles. No support yet for editing method values, awaiting development of a class picker widget.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6792 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-18 03:31:21 +00:00
Brian Remedios 452e38a0d7 New Preference panel updates: revised rule columns, new compact colour-coded regex filter column. Reworked property tab resizing. Refactored editors into separate package.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6791 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-12 04:14:32 +00:00
Brian Remedios aa07a15ae4 Bugfixes for new UI preferences panel: Fixed selection bug that resulted in a blank property field window, fixed text field lengths, all now span full width. Added sash/splitter bar between rule table and property tabs. Users can now edit xpath/exclusion property values for multiple rules at once.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6790 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-11 22:48:16 +00:00
Brian Remedios 3e28599cf1 Last missing class (I hope)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6782 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-11 00:27:10 +00:00
Brian Remedios c5beff7ad9 missing class, under development
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6781 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-11 00:16:13 +00:00
Brian Remedios 20ddc87817 Added new option to the rule context/popup menu that allows users to move rules between rulesets. I don't believe the underlying PMD system supports this at the moment though I believe we can do this - see my suggestion at https://sourceforge.net/forum/forum.php?thread_id=2824589&forum_id=188194
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6780 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-10 23:39:56 +00:00
Xavier Le Vourch a33f3a1fdc requires-junit target removed: junit jar is included in lib and always present
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6779 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-08 22:47:17 +00:00
Xavier Le Vourch a8d2eaf607 tomserver and win32tomserver targets removed: tom's server is not used any longer to upload temporary jar files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6778 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-08 22:45:26 +00:00
Xavier Le Vourch 10d9d30794 local.properties should be ignored instead of build.properties
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6777 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 23:40:30 +00:00
Xavier Le Vourch 0506ad17b7 clover target changes: clean wasn't called after instrumentation so calling
another ant target after generating the report crashed with missing dependencies


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6776 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 23:26:33 +00:00
Xavier Le Vourch 14ad6d36bc simplification of clover report generation as artifacts are now in central maven repository
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6775 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 23:15:12 +00:00
Xavier Le Vourch 5ede7c2919 clover version update
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6774 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 22:33:47 +00:00
Xavier Le Vourch 9d111dd335 code cleanup: ...lang.java.rule.useless was renamed 'unnecessary', old directory was not removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6773 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 19:37:11 +00:00
Xavier Le Vourch b4358f0baf Use same exclude-pattern as dogfood.xml to flag as many warnings as possible
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6772 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 17:23:29 +00:00
Xavier Le Vourch eea441100a FieldDeclarationsShouldBeAtStartOfClass excluded from rulesets/internal/dogfood.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6771 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 02:07:38 +00:00
Xavier Le Vourch d35ef1df03 new test case for annotations in FieldDeclarationsShouldBeAtStartOfClass
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6770 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 02:00:07 +00:00
Xavier Le Vourch 0da99df47c new rule in design.xml: FieldDeclarationsShouldBeAtStartOfClass
contributed by Al Rodgers, see [ 2487971 ] False positive with field-level annotations


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6769 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-07 01:53:57 +00:00
Xavier Le Vourch 10005f692c cpdOnPmd rule exclusions for <lang>ParserVisitorAdapter.java
code is duplicated in Abstract<lang>Rule.java and there's no way to handle this with single inheritance


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6768 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-06 22:01:07 +00:00
Xavier Le Vourch 37d705d2fa code cleanup: ...lang.java.rule.useless was renamed 'unnecessary', old Java classes were not removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6767 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-06 21:08:00 +00:00
Xavier Le Vourch d9238a40b7 ant targets cleanup:
cpd target removed

cpdOnPmd generates xml file (to be used by new Hudson cpd plugin)

cpdOnPmd report generated in "reports" target


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6766 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-06 20:25:29 +00:00
Ryan Gustafson 6ee649a718 Update to current PMD 5.0, fixes issued with RuleSetFactory.getRegisteredRuleSets() due to missing ecmascript ruleset.properties.
Update PreferenceManagerImpl for RuleSetFactory changes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6765 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-31 08:01:24 +00:00
Ryan Gustafson 3a9668f1bf Add missing ecmascript rulesets.properties.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6764 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-31 07:43:18 +00:00
Ryan Gustafson 9aa14a07c8 Remove ExternalRuleID and SimpleRuleSetNameMapper, and replace with RuleSetReferenceId. RuleSetFactory APIs updated to use RuleSetReferenceId, including support for RuleSet internal references.
This completes the standardization of RuleSet reference use throughout PMD.  See RuleSetReferenceId for the specifics of the standard scheme.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6763 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-31 00:18:19 +00:00
Xavier Le Vourch 9ebf4a0f52 update PMD jar file to revision 6760
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6762 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-29 20:10:52 +00:00
Brian Remedios 2bb06bb210 Bugfix for property updates while in grouped rule mode, enabled multi-select in rule list - users can modify priority levels via new popup menu, bugfix for multi-value renderers, new RuleSelection class. I'm still waiting for usability/feature feedback comments!
Need to implement: scrolling panel for property values, a splitter bar between rules & property tabs below, proper editors for enum types and multi-values, especially classes & interfaces. Still need to deal with statistical value rules - they throw exceptions at the moment, those guys have no defaults for now (not necessary?)

*** Please to not update the old PMDPreferencesPage, apply any necessary changes to the class of the same name in the temporary .br package. The old one remains as is where it is for comparison with the new one that shows up in the Eclipse preference panel right below the PMD entry ("Ruleset preferences - br"). 

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6761 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-29 19:26:21 +00:00
Brian Remedios 31a43ade86 Rules can now return whether they are using default property values or not
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6760 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-24 07:18:56 +00:00
Ryan Gustafson 94715ed14c Add support for 'null' or empty 'id', so that anonymous references can be created by the Test framework.
Flesh out the internal Rule reference support, by allowing it to pair with an external reference that can get an actual InputStream for use by the RuleSetFactory.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6758 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-19 23:23:32 +00:00
Ryan Gustafson 730cb0f6f1 Update JavaDoc to include examples.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6757 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-18 16:01:08 +00:00
Ryan Gustafson 691bb1fff9 Create the RuleSetReferenceId class. The goal is to provide a single means of identifying a RuleSet for all mechanisms which use this (RuleSetFactory, RuleSet XML, and command line). This class merges together the functionality of ExternalRuleID and SimpleRuleSetNameMapper.
My original impetus for this change is the following additional feature... support for creating a reference to a Rule in the "current" RuleSet.  This has no external use, but can/will be used to enhance the RuleSetFactory to allow references to a Rule in the current RuleSet, without having to make a fully qualified reference to the current RuleSet.  It is like being able to call a static method defined in the current Java class, without having to prefix the method with the FQN of the current Java class.

I will now work on refactoring everything to use this class.

When done, this change will also make it possible to list a single Rule anywhere a RuleSet name is to be expected, be it in the RuleSet XML, or the PMD command line (a feature requested in the past).


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6756 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-18 15:55:53 +00:00
Xavier Le Vourch 6253bb9c0e test case for [ 2429017 ] Failed parsing byte[].class.hashCode()
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6755 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-14 20:56:14 +00:00
Xavier Le Vourch 673b9fc4ad Fixed bug - JUnitTestsShouldIncludeAssert now detects Junit 4 Assert.assert... constructs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6754 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-13 00:13:39 +00:00
Xavier Le Vourch 3b30eb43d8 oops, NPE in previous commit...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6750 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 07:25:13 +00:00
Xavier Le Vourch b6a7e7da76 oops, NPE in previous commit...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6748 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 07:09:14 +00:00
Xavier Le Vourch b5ce3f154b Fixed bug 2404700 - UseSingleton should not act on enums
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6747 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 06:32:36 +00:00
Xavier Le Vourch fcb69f4967 Fixed bug 1955852 - false positives for UnusedPrivateMethod & UnusedLocalVariable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6745 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 00:49:35 +00:00
Ryan Gustafson 09a89dd005 Fix tests because of removal of PluginConstants interface, which was replaced with a call to RuleSetFactory.getRegisteredRuleSets(). It is unclear to me why the plugin did explicit enumeration of the RuleSets, perhaps it was put in before the factory could enumerate them.
FYI, I am _not_ able to run these tests successfully.  There is something about how to run them that I do not currently grok, nor am I too worried about it at this time.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6743 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-05 08:05:50 +00:00
Ryan Gustafson 5a5ccf0a03 Open things up to support files other than .java files. This includes:
1) Allow the PMD context menu on any File type, not just *.java.
2) Modify some places which check for a .java extension to _not_ do so.
3) Modify some places to check with the PMDEngine whether a File "applies" (e.g. is it for a Language which is understood by PMD and are there any Rules in the RuleSet for that Language).

Expand the Rule table to have a Language column in the 1st column.  The table setup in this plugin/SWT still *sucks* as bad I remember it being the last time I added columns.

With these changes I can get both JS and XML Rules to work.  Violations show up, and for JS, I can be brought to the proper line number in the code!

Also fixed and issue with this plugin looking for a "maxViolations" property on the Rules, which given PMD 5.0 changes to require a propery to exist to ask for a value... needed some tweaking to first check for the value on the Rule.  More verbose, but a safer API than the Wild West style of pre-5.0.

The Rule Editor needs some work to account for the new structure of Rules in PMD 5.0.  Currently any Rule it creates causes things to blow up due to missing Language.  Easy enough to fix, but it's just the 1st of several things needing to be corrected.




git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6742 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-05 07:55:16 +00:00
Ryan Gustafson 72a6746f25 Update PMD version to current trunk. Add JARs for Saxon and Rhino.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6741 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-05 07:43:25 +00:00
Romain Pelisse 2e203697a5 Adding credit entry on Sergey Pariev for his fix on Ruby CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6740 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 15:15:45 +00:00
Romain Pelisse c09cdb6451 Fix for bug [ 2315599 ] False +: UseSingleton with class containing constructor.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6734 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 09:04:11 +00:00
Romain Pelisse 9201abfc15 Oups, this forget to update changelog when I applied provided patch for :
[ 2338341 ] ArrayIndexOutOfBoundsException in cpd on rails project.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6732 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 08:45:38 +00:00
Ryan Gustafson f8788ae248 Add support for checking condition in the ternary operator to the AssignmentInOperand rule for ECMAScript. Optionally can check for use of Assignment inside of one of the results of the ternary too (ternary is semi-complex operator, argues for KISS in usage).
The Java version of this Rule does not seem to have ternary support, we should consider adding it.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6730 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 17:47:47 +00:00
Ryan Gustafson 5d4ec1b5cd Add DumpFacade (which is used by Rule Designer) support for recently added AST nodes.
Removed stray empty lines.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6729 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 04:35:27 +00:00
Ryan Gustafson 9231a9eb86 Expose ASTComment nodes.
Fix formatting.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6728 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 04:30:54 +00:00
Ryan Gustafson 326ee9768b Add support for remaining AST nodes produced by Rhino. These were not in the code base I'm testing with. Still need to write tests for these AST nodes yet.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6727 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 03:49:02 +00:00
Ryan Gustafson c8c7a45bdf Rework XPath query so it can use the RuleChain.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6726 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 02:06:11 +00:00
Ryan Gustafson 0bd1a69191 PMD dogfood fixes.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6725 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 02:01:50 +00:00
Xavier Le Vourch 5d1fd89d40 code cleanup: pmdOnPmd warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6724 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 01:00:14 +00:00
Xavier Le Vourch acec6e6bfc code cleanup: pmdOnPmd warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6723 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 00:46:57 +00:00
Ryan Gustafson 0c01d94e3c Loosing dogfood exclusions so they only check JavaCC generated artifacts. Code fixes for files now being checked by dogfood will follow soon.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6722 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 22:33:38 +00:00
Ryan Gustafson 8917ae0c07 Add methods for determining common well-known contexts of usage for an ASTName node.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6721 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 20:52:37 +00:00
Ryan Gustafson 92fc00bd6d Add support for getting the ASTName of an ASTFunctionNode.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6720 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 20:51:41 +00:00
Ryan Gustafson 1537bfc8cd Add ECMAScript AST support for LabeledStatement and Label.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6719 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 20:27:26 +00:00
Ryan Gustafson acc9bd26bf Remove System.out. Reallllly need to get PMD dogfood to include that Rule at some point here.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6718 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 18:18:50 +00:00
Ryan Gustafson 5b8fadbd2e Add ConsistentReturn rule for ECMAScript.
Implement EcmascriptRuleChainVisitor to handle EcmascriptParserVisitor for Java Rule support.

Also, tell Rhino to record comments.  At some point this would likely be useful to extract JSDoc information to do additional Type based checking, etc.  We still need to expose the comments via a PMD mechanism however.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6717 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 04:13:57 +00:00
Ryan Gustafson 65c0cf4e73 Missed implementing jjtAccept() on each AST node.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6716 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 04:09:42 +00:00
Ryan Gustafson 6dd91a168f Add AssignmentInOperand rule for ECMAScript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6715 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 00:07:46 +00:00
Ryan Gustafson b43aff8989 Missed a few files related to the reinit change.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6714 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-30 00:00:47 +00:00
Ryan Gustafson c1f8327ad6 Change XML test cases to have 'reinitializeRule' to 'true' as the default. This is safer, as we do not expect there to be side-effects on the Rule instance between Test executions.
The one test that failed after this change because it wanted the Rule instance to not be reinitialized has been fixed.

The tests may run slightly slower because of this, but the validity of the tests is more important.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6713 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 21:16:03 +00:00
Xavier Le Vourch e81bec3ffa maven needs to know about custom rhino library for clover instrumentation to work
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6712 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 20:18:07 +00:00
Ryan Gustafson 76e0d9fb22 Add UnreachableCode rule for ECMAScript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6711 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 07:13:05 +00:00
Ryan Gustafson e3df199996 Add 4 flavors of Braces rules for ECMAScript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6710 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 06:41:51 +00:00
Ryan Gustafson b8b631488f Fix examples, and expand coverage of test case.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6709 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 06:37:40 +00:00
Ryan Gustafson 38a7e6fbe3 Rename boolean 'isHasXXX' methods to 'hasXXX'. This exposes them as 'XXX' attributes in XPath.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6708 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 06:35:42 +00:00
Ryan Gustafson bfc34aa85c Add support for ECMAScript. Use Rhino as a Parser and AST producer. Added 3 initial Rules as proof of concept.
The adaption of the Rhino AST to the PMD AST is done via a custom PMD AST class per Rhino AST class.  This PMD AST class exposes those parts of the underlying Rhino AST node as needed, and also provides intelligent access to the children of the PMD AST node, similar as has been on for the PMD Java AST and in Rhino itself.

The EcmascriptTreeBuilder provides a model for how to efficiently traverse a non-PMD AST, and convert a corresponding PMD AST.  This happens to be _much_ faster than any dynamic proxy approach could be (already tried a rough cut, this approach is over 10x faster).  In the case of Rhino, we leverage the existing NodeVisitor API provided on the Rhino AST.

This approach relies heavily on the Rhino AST model, which is not "published" as far as I can tell, and is significantly changed in the CVS trunk over the most recently released version of Rhino.  Dealing with changes in the Rhino model will one of the downsides to leveraging Rhino, but upside being we have a fully functional Language available with a little more than a day's worth of coding.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6707 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 04:28:52 +00:00
Ryan Gustafson c83f0828d3 Expose 'double' properties on AST nodes.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6706 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-29 03:37:33 +00:00
Xavier Le Vourch aafa9aee14 code cleanup: better XPath expression for ClassWithOnlyPrivateConstructorsShouldBeFinal
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6705 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-27 17:36:46 +00:00
Xavier Le Vourch 3b73ddaecf Fixed bug 2230809 - False +: ClassWithOnlyPrivateConstructorsShouldBeFinal
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6702 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-27 17:01:35 +00:00
Xavier Le Vourch ffd25da10e Fixed bug 2315623 - @SuppressWarnings("PMD.UseSingleton") has no effect
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6700 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-24 20:44:55 +00:00
Xavier Le Vourch cb840336e4 code cleanup: pmdOnPmd violation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6699 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-24 20:08:52 +00:00
Romain Pelisse 8bc0cb14b1 Committing small patch for CPD (Ruby). See https://sourceforge.net/tracker/index.php?func=detail&aid=2338341&group_id=56262&atid=479921 for more details. This small fix does not break unit test, but more testing will be nice.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6697 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-24 19:04:00 +00:00
Xavier Le Vourch 66fd22b0cf code cleanup (eclipse warnings): unused imports, useless casts, ...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6696 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-14 16:49:30 +00:00
Xavier Le Vourch 61e992368b extra exported packages: rulesets and net.sourceforge.pmd.eclipse.plugin
patch submitted by Peter Hayes


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6695 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-14 03:21:34 +00:00
Xavier Le Vourch 7249d54add bug fix: Reordered the ProjectPropertiesManagerImpl.fillProjectProperties method so that setRuleSetFile() comes before setRuleSetStoredInProject() (This fixes an issue when the project ruleset file is not the default name)
patch submitted by Peter Hayes


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6694 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-14 03:05:21 +00:00
Xavier Le Vourch 38bbc268aa update pmd-5.0.jar to snapshot 6690, all compilation errors should be fixed now
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6691 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-04 17:41:08 +00:00
Brian Remedios 6ba0b1806b cleanup, commented-out final compilation issues. Still need to actually clean out the old property mgmt code once the new checked & finished.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6690 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-04 04:40:57 +00:00
Brian Remedios 88b0bffb90 generics cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6689 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-04 04:24:41 +00:00
Brian Remedios fb6410394c import cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6688 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-04 04:12:18 +00:00
Brian Remedios ec7c146f83 refactored editor factories, zapped redundancies
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6687 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-04 04:09:25 +00:00
Brian Remedios 52831ca4c3 fix for NPE during property updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6686 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-04 04:07:21 +00:00
Xavier Le Vourch ba00b249f1 code cleanup (pmdOnPmd violation): constant should be final
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6685 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-27 01:32:53 +00:00
Brian Remedios f1ff5dcbf2 rm file utility method migrated to pmd proper
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6684 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-26 23:51:39 +00:00
Brian Remedios b1905cd4e2 forgot to commit the recent addition
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6683 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-26 23:04:26 +00:00
Xavier Le Vourch 2e62d043ca NumericConstants.floatZERO was renamed FLOAT_ZERO in PMD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6682 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-26 19:49:09 +00:00
Xavier Le Vourch 65dfd54ad6 code cleanup: AvoidConstantsInterface rule is now part of the dogfood ruleset
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6681 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-26 19:41:32 +00:00
Brian Remedios 60314b66c4 Revised plugin to allow viewing of revised property preferences page. New page sits outside of the PMD parent node for now until we remove the old one.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6680 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 23:00:26 +00:00
Brian Remedios 72877f4679 refactored to handle move of Util class to new package
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6679 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:58:00 +00:00
Brian Remedios 90da682ebf optimizations, adaptations for new property mgmt framework. Some classes may still be removed.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6678 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:56:04 +00:00
Brian Remedios 7fa24a8af0 Code cleanup, deprecations, some adaptations for new properties. Some classes that currently have errors will soon be removed.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6677 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:49:37 +00:00
Brian Remedios 3a29f39522 minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6676 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:45:36 +00:00
Brian Remedios 2c907a02fe typos & minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6675 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:43:36 +00:00
Brian Remedios 12c5faef85 typos & minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6674 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:41:39 +00:00
Brian Remedios a91dad5f37 typos & minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6673 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:37:59 +00:00
Brian Remedios eb534f3c7b typos & minor optimizations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6672 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:36:33 +00:00
Brian Remedios 813245b813 typos & refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6671 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 22:32:02 +00:00
Xavier Le Vourch c44703ba1d code cleanup, pmdOnPmd violation: floatZERO -> FLOAT_ZERO
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6670 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 06:48:02 +00:00
Xavier Le Vourch ce8346a183 threshold was renamed maxDuplicateLiterals in AvoidDuplicateLiterals
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6669 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 06:35:45 +00:00
Brian Remedios f88a14f185 dogfood optimization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6668 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 05:27:39 +00:00
Brian Remedios a7a882c866 Cleanup of description text
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6667 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 04:55:02 +00:00
Brian Remedios 2cf1378bc6 new static constant, misc text cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6666 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 04:52:26 +00:00
Xavier Le Vourch bb3a44e587 code cleanup: newSet() is redundant with asSet()
use of Arrays.asList() instead of local iteration in asSet()


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6665 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 00:56:42 +00:00
Brian Remedios 7962786726 added Method & Long property types
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6664 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 00:40:17 +00:00
Brian Remedios 989f020fab fixes for dogfood violations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6663 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-25 00:27:31 +00:00
Brian Remedios e46a109414 Added 'new' utility methods moved from pmd-eclipse.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6662 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-24 23:51:41 +00:00
Torsten Kleiber 3b17952d3d Release 4.2.4.3.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6652 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-21 21:38:23 +00:00
Torsten Kleiber 117d6c2b2c Release 4.2.4.2.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6651 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-21 21:37:10 +00:00
Torsten Kleiber ccf98d9228 Release 4.2.4.1.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6650 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-21 21:36:37 +00:00
Torsten Kleiber 80f5e23184 Release 4.2.4.3.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6649 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-21 21:33:32 +00:00
Torsten Kleiber 61d1d1ba7c Release 4.2.4.2.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6648 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-21 21:32:04 +00:00
Xavier Le Vourch bf1113eb8f update PMD 5.0 snapshot to build 6645
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6647 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-20 16:23:59 +00:00
Xavier Le Vourch 38e1e54085 update PMD 5.0 snapshot to build 6645
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6646 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-20 16:21:50 +00:00
Xavier Le Vourch 3501435a0f regression bug fix: case of exceptionlist and checkAll properties have changed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6645 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-20 06:28:22 +00:00
Brian Remedios e537ff40dc Reworded property descriptions in property descriptors to better suit their use in edit dialogs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6644 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-20 03:32:35 +00:00
Brian Remedios 0201804d83 Misc updates for pmd-eclipse, minor cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6643 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-20 01:52:14 +00:00
Brian Remedios fe0ffdbae0 Language, grammar, formatting cleanup within rule descriptions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6642 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-19 19:22:10 +00:00
Brian Remedios 1b6aab7a3e path fixes for Java rules
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6641 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-19 18:39:27 +00:00
Brian Remedios 562a7ec74a Updated paths to Java rules, cleaned up formatting.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6640 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-19 18:34:49 +00:00
Brian Remedios 4d19a0632a Forgot to update this one as well...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6639 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-19 01:07:46 +00:00
Brian Remedios 302ba97ed0 update to be able to detect xPath rules from the others
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6638 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-19 01:00:01 +00:00
Ryan Gustafson 557b648e8c Better exception handling.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6636 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 21:18:21 +00:00
Brian Remedios d1a9bf3251 new function added, cleanup existing
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6635 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 17:51:01 +00:00
Brian Remedios abb75f6d25 new utility method added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6634 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 17:25:22 +00:00
Ryan Gustafson c1c74ad02b Enhanced logging in the ClassTypeResolver to provide more detailed messaging.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6633 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 05:20:02 +00:00
Ryan Gustafson bf0b53fa7a When bulk processing, clear the RuleContext LanguageVersion prior to processing a file. This will be automatically determined as necessary. JavaDoc clarified in this regard. With this change, heterogeneous RuleSets can be processed agains heterogeneous collections of files. Finally!
Remove unnecessary PMD.processFiles method, use the static entry point instead for bulk processing.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6631 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 04:11:32 +00:00
Ryan Gustafson fb1b6cc630 Refactor SimpleRuleSetNameMapper to understand the Language prefix. For example 'basic' is now 'java-basic'.
Refactor all RuleSet XMLs into a Language subdirectory.  The 'rulesets.properties' file can be found in each directory.  The RuleSetFactory when asking for all registered RuleSets will use the 'rulesets.properties' file for each Language with Rule support.

All regression tests updated to use Language scoped short names, instead of old style.

Renamed the new 'useless' ruleset to 'unnecessary', as it is a more mild term.

Various parts of the documentation and the release scripts will need updating to account for the new treatment of 'rulesets.properties', and ruleset naming.  This can be done later, when all documentation is given a thorough thrashing. ;)


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6630 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 03:27:58 +00:00
Xavier Le Vourch 90bbf701a5 Java grammar fix: TypeParameter name wasn't set
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6628 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-17 17:18:45 +00:00
Ryan Gustafson acf09d38a8 Add ruleset folder for Java and JSP languages.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6627 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-17 02:22:27 +00:00
Xavier Le Vourch 7ebaf3a37b new "dogfood" rulesets for the regression suite
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6624 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 20:18:54 +00:00
Xavier Le Vourch a84a628198 code cleanup: junit rules applied on regress classes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6623 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 18:08:23 +00:00
Xavier Le Vourch a61c44a5e6 code cleanup: junit rules applied on regress classes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6622 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 17:56:04 +00:00
Xavier Le Vourch 31152d3499 code cleanup: assertTrue(!<expr>) -> assertFalse(<expr>)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6621 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 17:39:10 +00:00
Xavier Le Vourch fd4757152b fix for encoding test: charset was UTF8 in one instance, UTF-8 in the other,
use of Charset.forName() solves the issue.

use assertEquals() instead of assertTrue(x.equals(y))


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6620 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 16:43:24 +00:00
Brian Remedios f265d2e219 updated rule configs per package name changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6619 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 08:45:39 +00:00
Brian Remedios 0670430269 updated rule configs per package name changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6618 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 08:39:53 +00:00
Brian Remedios a116b7b041 Updates to accommodate new property mgmt scheme
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6617 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 06:47:07 +00:00
Brian Remedios f3c952be2e Initial upgrade to new property mgmt scheme, much more to follow.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6616 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 06:12:08 +00:00
Ryan Gustafson d1e9e44fda Completed refactoring of PMD configuration state into the Configuration class. Both CommandLineOptions and the AntTask refactored to initialize a Configuration instance as needed. This results in much improved defaulting of common settings and behavior between the command line and Ant task.
Remove many redundant "process" methods from the PMD class.  Use of a Configuration object removes the need for so any variants.

Renamed the 'cpus' option to 'threads', for both command line and Ant.

Changed the 'lang' option to 'version', for both command line and Ant.  The option can be specified repeated to change what LanguageVersion to use for any given Language.  For Ant, use <version> child element.  Reworked the way PMD processes to let the Languages of the Rules in the RuleSets drive the processing, instead of the previous single language.

It should now be technically possible to process multiple Languages in the same RuleSet on a list of mixed Language files.  However, I still need to create tests for this scenario to verify it is working as expected.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6615 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-15 05:10:43 +00:00
Ryan Gustafson b9e32ef88f Reformat to coding conventions so subsequent diff will be easier to read.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6614 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 23:28:32 +00:00
Xavier Le Vourch d8d7a7a007 use UTC format for date info in plugin version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6613 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 17:47:21 +00:00
Xavier Le Vourch 546b4a9e88 new script to update the version consistently. It is of the form <version>.v<YYYYMMDDHHMM>
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6612 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 17:42:06 +00:00
Xavier Le Vourch 5f2a8350db PMD 5.0 conversion of eclipse plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6611 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 07:29:13 +00:00
Xavier Le Vourch a8ddb4bb9e PMD 5.0 conversion of eclipse plugin: using java 1.5 compiler
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6610 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 07:09:57 +00:00
Xavier Le Vourch ba8cc4f270 PMD 5.0 conversion of eclipse plugin: temporary conversion of PMD calls
The only remaining errors are related to the property descriptors


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6609 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 07:08:39 +00:00
Xavier Le Vourch b4c3780441 PMD 5.0 conversion of eclipse plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6608 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 03:38:06 +00:00
Xavier Le Vourch e4f4eea21d code cleanup: generics warnings since code is now compiled with java 1.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6607 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 03:10:51 +00:00
Xavier Le Vourch 4cd2019c00 code cleanup: generics warnings since code is now compiled with java 1.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6606 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 02:55:34 +00:00
Xavier Le Vourch 35088adb03 start of PMD 5.0 conversion of eclipse plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6605 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 00:15:28 +00:00
Xavier Le Vourch 7029489932 start of PMD 5.0 conversion of eclipse plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6604 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 00:12:24 +00:00
Xavier Le Vourch 62af77b02d update to PMD 5.0 snapshot (build 6596) and java 1.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6603 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-14 00:10:34 +00:00
Xavier Le Vourch e233091080 3.2.5 release, based on PMD 4.2.4
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6600 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-13 18:54:32 +00:00
Xavier Le Vourch 87a6940645 update to PMD 4.2.4
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6599 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-13 18:30:37 +00:00
Ryan Gustafson 6054ef3c1e Cleanup the RuleSetFactory so that ClassLoader is an instance field, instead of a method argument. This removes 3 wrapper methods from the API, and a bunch of internal parameter passing. Resulting API is very much simpler.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6593 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-12 10:21:18 +00:00
Xavier Le Vourch e129bed663 Fixed patch 2075906 - Add toString() to the rule UnnecessaryWrapperObjectCreation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6592 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-11 18:42:30 +00:00
Ryan Gustafson 8bef2761e9 Correct issue passing report parameters to Renderer.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6590 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-11 04:43:30 +00:00
Ryan Gustafson 7124011961 Correct issue with excluding of SCCS directory (was inverted, matching only that directory). Also add more toString() on the FilenameFilters.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6589 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-11 04:17:34 +00:00
Ryan Gustafson f502ee3a12 Rename SourceFileSelector to LanguageFilenameFilter. Delete SourceFileOrDirectoryFilter. Move DataSource finding code from the PMD class into FileUtil.
Overall, nice bit of cleanup and removal of code from the PMD class into a reusable utility (used by PMD and the Benchmark program).

Added a FUTURE marker as we still need to figure out a way to deal with excluding certain directories, the hard-coded "SCCS" is still in place.  Thankfully this only applies to command line usages, and not Ant.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6588 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-10 06:09:57 +00:00
Ryan Gustafson 2073b275cf Refactor SourceFileSelector into lang package.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6587 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-10 03:18:39 +00:00
Ryan Gustafson 354519f879 Fix to support EOLs different from the current System's.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6586 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-10 02:14:14 +00:00
Ryan Gustafson 178a0a10e5 New Rule: Import ruleset: UnnecessaryFullyQualifiedName
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6585 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-09 00:30:53 +00:00
Xavier Le Vourch 2a9a5a289e 'What's new in PMD 5.0' links to Hudson's changes page for the snapshot
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6584 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-08 15:49:53 +00:00
Xavier Le Vourch 9cf0cead65 web site updates to link to the download location for the daily Hudson CI snapshot
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6582 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 22:52:36 +00:00
Xavier Le Vourch c4ab6882f8 automatic snapshot updates:
1) src and bin packages are available in hudson setup, no need to upload to sf.net

(see http://hudson.brittanysoftware.com/job/PMD-snapshot/)

2) maven snapshots are not versioned


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6581 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 20:04:16 +00:00
Xavier Le Vourch 7189d805b6 renderers cleanup: consistent handling of EOL.
EOL was generated before violations and then again outside the renderer at
the end of the report.

side effect: ant task is now silent if there is no violation to be consistent
with ant common practices.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6580 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 15:46:11 +00:00
Xavier Le Vourch 748faacab0 release process update: mvn site:deploy doesn't work... using rsync over ssh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6579 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 15:34:25 +00:00
Xavier Le Vourch 9903991b77 release process updates to reflect changes in sf.net access
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6578 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 06:06:33 +00:00
Ryan Gustafson 95dbc6bc1b Fix incorrect parameter passing.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6577 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 05:06:07 +00:00
Ryan Gustafson fbd966a099 Remove deprecated methods from Renderer.
Also split AbstractRenderer off into AbstractAccumulatingRenderer to make the distinction with the AbstractIncrementalRenderer explicit.  JavaDoc updated accordingly.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6576 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 04:28:39 +00:00
Xavier Le Vourch 465b903f04 Text renderer is now silent if there's no violation instead of displaying "No problems found!"
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6573 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 22:58:54 +00:00
Xavier Le Vourch 4240972386 sourceforge.net upload host changed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6572 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 21:26:21 +00:00
Xavier Le Vourch 6045d9e147 version change before new beta to test recent changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6571 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 19:30:16 +00:00
Xavier Le Vourch 49b0968c8c code cleanup: removal of $Log$ and $Revision$
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6570 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 19:26:32 +00:00
Xavier Le Vourch a44f3a73ec bump pmd-build version number as jdk14 pom is no longer built
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6569 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 18:22:57 +00:00
Xavier Le Vourch c862010a1d undo last change as there's problems with the reports target, specifically the clover target calling clean to make sure the classes are instrumented
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6568 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 18:09:27 +00:00
Xavier Le Vourch 3ae6746eff 'clean' target removed reports directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6567 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 17:11:47 +00:00
Ryan Gustafson 28e409d901 Revert inadvertent commit.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6566 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 05:39:25 +00:00
Ryan Gustafson 302e38ba8d Remove support for Java 1.4 runtime. Primarily this entails removal of the build processes and scripts used to support running with retroweaver. Additional changes are made to code which made checks for running on a 1.4 JVM (found via searches).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6565 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 05:20:27 +00:00
Ryan Gustafson c1f5d18669 Correct documentation.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6564 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 04:24:22 +00:00
Ryan Gustafson 6055d7d222 Comment cleanup.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6563 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 03:16:21 +00:00
Ryan Gustafson 34de466006 Rename OntheFlyRenderer to AbstractIncrementalRenderer.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6562 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 03:12:43 +00:00
Ryan Gustafson d1cb839b37 Rework Renderer to support standardized option passing, as well as a more rigorous definition of those options. This approach allows for a RendererFactory to create Renderer instances, as well as a means to programmatically output details on all available Renderers. Both the PMD command line and Ant tasks now take advantage of the RendererFactory, and have been enhanced to support generic report option passing (ie. -parameter and <param> respectively). Removed obsoleted Renderer specific options from command line and Ant task (e.g. linkPrefix, etc). Finally, some Renderers were given more appropriate names. We should consider dropping some of these goofy Renderers out of the tree (there's about 4-5 Renderers for HTML!).
Added missing -showsuppresse option for PMD command line.  The default is the same as the Ant task (false), which is a change from prior PMD behavior, but I think this is justified for consistency's sake and the fact that most people likely use the Ant task anyway.

While working on CommandLineOptions, the argument processed code was cleaned up a bit so that missing parameters for options will now give better error messages.  This isn't to say there's not work that could still be done in this area, as the code is still rather too loosey-goosey for my tastes.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6561 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-06 03:06:55 +00:00
Ryan Gustafson 11bbd666ae JavaDoc fixes. Curiously the Ant build does not seem to report these as problems, Eclipse pointed them out for me.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6560 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-04 05:45:53 +00:00
Ryan Gustafson b7d7a056b0 Delete unused file.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6559 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-04 01:27:32 +00:00
Ryan Gustafson 34ecdafcf1 Changelog update.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6558 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-04 01:06:42 +00:00
Ryan Gustafson 95d65ea2ec Provide full file path to PMD, instead of workspace relative path.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6557 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-04 00:52:32 +00:00
Xavier Le Vourch 5b92ce62f7 cpd ant task documentation for attributes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6556 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-03 23:47:11 +00:00
Xavier Le Vourch 6669e7fdf1 Eclipse plugin should work with Eclipse 3.2+: dependency on 3.4 removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6554 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-03 22:13:02 +00:00
Xavier Le Vourch 17159a5f56 version update for new beta package
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6553 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-03 00:22:59 +00:00
Xavier Le Vourch ca4303a790 code cleanup: javadoc warning
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6552 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-02 23:44:48 +00:00
Xavier Le Vourch 0add112542 wrong resource file name during refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6551 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-02 22:54:22 +00:00
Ryan Gustafson a1b27d280a Remove deprecated APIs and classes.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6550 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-02 05:33:16 +00:00
Ryan Gustafson 2679c9eca5 Remove XPath 2.0 for XML rules, for now. I thought it would be a nice test case, but it's broken on Java 1.4.
I thought I had verified Saxon worked on Java 1.4, but apparently it cannot due in part to dependencies on the DefaultHandler2 class which is only available in Java 1.5 and later (or Java 1.4 with JAXP extension).  I think we'll just have to document this limitation for folks wanting to continue to use Java 1.4.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6549 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-02 05:07:08 +00:00
Ryan Gustafson 7b4f809b41 Add MistypeCDATASection Rule to detect potential extra [ or ].
This is not in dogfood, as PMD does a lot of CDATASections which are the end of XPath steps, and this last character is a ].  We could reformat to work around the check (add a newline before the ]]>), but it seems a bit kludgy.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6548 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-02 03:21:38 +00:00
Ryan Gustafson 7534aedf0c Remove 'language' attribute from the <ruleset> element in the XML Schema and DTD. Remove from the JSP/JSF RuleSets.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6547 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-02 01:43:58 +00:00
Ryan Gustafson e6eac94c0b Remove Language from RuleSet class. Previous changes which associated Language with Rule are now the driver for processing instead of the RuleSet.
Work still needs to be done to clean up the XML Schema and DTD.  Nothing too complex there.

Slightly more complicated work needs to be done allow PMD to appropriately associate an source file based LanguageVersion on the RuleContext.  Once that is done, it will be technically possible to use a single RuleSet containing Rules for different Languages and actually run it against a mixed set of source files.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6546 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-01 04:39:43 +00:00
Ryan Gustafson 0481bba385 Fix JavaDoc warning.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6545 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-01 02:22:08 +00:00
Ryan Gustafson ad38760383 Update description of the 'xpath' property to be technically accurate.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6544 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-30 03:20:53 +00:00
Ryan Gustafson 454d19e6a9 Replace magic String with constant.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6543 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-30 03:17:26 +00:00
Ryan Gustafson 98d32e0341 Change version property to have choices and labels be identical.
EnumeratedProperty is really odd in that it wants to serialize out the label.  I had assumed it would serialize out the value, and the label was merely used to provide a description in some GUI, and was not the externalized form.  Regardless, a verbose value is not what I want people to have to enter when manually providing a the version for XPathRule in XML.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6542 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-30 03:13:16 +00:00
Xavier Le Vourch 671f8f5b1e misc changes: properties, version number
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6541 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-30 01:01:18 +00:00
Xavier Le Vourch 1e93bbdb81 package name refactoring: extension point mappings were incorrect
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6540 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-30 00:59:06 +00:00
Xavier Le Vourch 478718bfbe package name refactoring: new mapping file name was incorrect
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6539 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 20:53:20 +00:00
Xavier Le Vourch 027c7b8a1f package name refactoring: backward compatibility loading of preference file
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6538 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 20:49:36 +00:00
Ryan Gustafson 0d9a71482a Simplify logic.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6537 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 06:58:15 +00:00
Ryan Gustafson 32221af50d Add support for an 'Image' attribute on Text/CDATA elements. This allows use of XPaths like:
//cdata-section[starts-with(@Image, '[')]

Curiously, this is need for Jaxen to run this query, but Saxon seems to work without it.  Something is different in how the AttributeAxisIterator is working for the two cases that is escaping me.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6536 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 06:44:22 +00:00
Ryan Gustafson 3763c8f232 Correct the DocumentNavigator import to use PMD's instead of Jaxen's.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6535 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 06:26:07 +00:00
Ryan Gustafson 8a8a752aa7 Apply escaping to attribute values as well.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6534 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 06:24:11 +00:00
Ryan Gustafson 45495dca8e Minor optimization to ASTTreeNode to have the parent node be the actual parent which created the node.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6533 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-29 06:20:59 +00:00
Ryan Gustafson cc640a1d91 Remove unused imports.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6532 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-28 22:36:02 +00:00
Ryan Gustafson 2e17cf9da4 Correct issue with using DOM Level 3 APIs on Java 1.4.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6531 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-28 22:10:45 +00:00
Ryan Gustafson fdc569b45f Rule Designer enhanced to save all settings in an XML format, which includes:
o Code
   o Language Version
   o XPath Query
   o XPath Version
   
This should be much more user friendly across restarts (quite helpful when you're developing PMD itself).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6530 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-28 21:52:03 +00:00
Ryan Gustafson e99180d5ba Remove 'final' from addViolation() methods. Needed to override one of these to easily make the Designer work. There's no comments on why these were marked final, so should be no harm in opening them up.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6529 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-27 07:02:53 +00:00
Ryan Gustafson 52dfba8203 Designer updated to support specifying the XPath version to use for the query.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6528 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-27 07:00:55 +00:00
Ryan Gustafson c08563eca5 Fixed mistake in replace call.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6527 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-27 06:59:54 +00:00
Ryan Gustafson 224af751ac XMLNode.toString() needs to change node names like '#cdata-section' to remove the '#' characters, which are not value node names for use in XPath query steps.
The conversion produces the following element names, which while they may collide with some XML documents, they are easy to use:

   cdata-section
   comment
   document
   document-fragment
   text


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6526 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-27 06:48:22 +00:00
Xavier Le Vourch 914913113f 'clean' removes .../bin directories
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6525 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 23:02:56 +00:00
Xavier Le Vourch cafe20aded code refactoring: core, runtime and ui packages moved to net/sourceforge/pmd/eclipse subpackages
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6524 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 22:58:58 +00:00
Xavier Le Vourch e8c2626a41 code refactoring: core, runtime and ui packages moved to net/sourceforge/pmd/eclipse subpackages
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6523 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 22:57:05 +00:00
Xavier Le Vourch 6265940d56 plugin reorganization: test projects updated to reflect changes in plugin architecture
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6522 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 22:12:10 +00:00
Xavier Le Vourch 5f847aa32d 'clean' target also cleans stuff in features and plugins subdirectories
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6521 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 21:41:41 +00:00
Xavier Le Vourch e8395fa5f9 version update
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6520 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 20:43:08 +00:00
Xavier Le Vourch 9b33f0af3a code cleanup: plugin activator renamed PMDPlugin and all older PMD<xxx>Plugin classes removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6519 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 20:34:37 +00:00
Xavier Le Vourch a5ce52e470 code cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6518 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 20:00:51 +00:00
Xavier Le Vourch 4a60b812ec all rule examples displayed in Rule Configuration panel
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6517 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 19:47:12 +00:00
Xavier Le Vourch 0f181d80e1 code cleanup: extra '[' in <![CDATA[ removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6516 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 19:10:25 +00:00
Xavier Le Vourch 67c81944b8 code cleanup (deprecated calls and optimization):
PMD report is only created once and reused by all renderers


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6514 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 18:45:19 +00:00
Xavier Le Vourch eabf55cf2e code cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6513 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 18:13:32 +00:00
Xavier Le Vourch 342af0e915 ignores updated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6512 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 17:31:26 +00:00
Xavier Le Vourch 328a6b9ef4 eclipse version defaults updated to ganymede-SR1 ones
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6511 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 17:29:57 +00:00
Xavier Le Vourch 5a15f05ffb code cleanup: serial warnings removed, unused locals and fields, deprecated calls
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6510 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 17:24:10 +00:00
Xavier Le Vourch ac71bd22e5 eclipse plugin reorganization: feature renamed net.sourceforge.pmd.eclipse as update
site doesn't work with net.sourceforge.pmd.eclipse.feature


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6509 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 06:41:36 +00:00
Xavier Le Vourch 18757bc8e5 new version: 3.2.5.v200809252215 to be used to test plugin. It will be available
in eclipse.beta update site:

  http://pmd.sourceforge.net/eclipse.beta/



git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6508 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 05:26:39 +00:00
Xavier Le Vourch fbb70a65bd eclipse plugin reorganization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6507 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 05:23:00 +00:00
Xavier Le Vourch 9a9e723746 code cleanup: unused imports
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6506 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 02:29:41 +00:00
Xavier Le Vourch f0e9d13547 eclipse plugin reorganization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6505 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 00:31:32 +00:00
Xavier Le Vourch 8c72bbb2ac eclipse plugin reorganization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6504 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-25 23:57:57 +00:00
Xavier Le Vourch f7371ac0de eclipse plugin reorganization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6503 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-25 23:45:36 +00:00
Xavier Le Vourch c54f51b530 eclipse plugin reorganization
first of several commits to make sure the plugin can be generated in headless
mode from ant


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6502 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-25 23:18:33 +00:00
Xavier Le Vourch 90264d6cb8 absolute paths replaced by
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6501 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-22 23:07:31 +00:00
Xavier Le Vourch f2014126b0 settings to enable building eclipse plugin using ant (from within eclipse itself so far)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6500 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-22 22:33:30 +00:00
Xavier Le Vourch 7bab6411d7 installing saxon9.jar in local repository as it's not in standard repositories
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6499 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-19 16:22:03 +00:00
Ryan Gustafson 089e5d40ad Correct package spelling.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6498 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-19 07:38:22 +00:00
Ryan Gustafson 4f9a67c710 Correct package spelling.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6497 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-19 06:40:59 +00:00
Ryan Gustafson c0fc8a84d1 Allow the Attribute class to expose the original underlying type/value, instead of only exposing as a String. This is needed for XPath 2.0 support, so that attributes can have the proper type. The AttributeNode class is updated accordingly.
There are still issues with running existing rules as XPath 2.0, but this brings things closer.  Some of the issues may be due to incompatibilities with XPath 1.0, or to some as yet unfixed problem.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6496 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 09:17:50 +00:00
Ryan Gustafson 87f754f1b3 Remove unused import.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6495 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 07:42:56 +00:00
Ryan Gustafson 3bbd95d420 Remove unused local variable.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6494 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 07:34:50 +00:00
Ryan Gustafson b63f8a55e5 XPathRule version default should be 1.0, not 2.0.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6493 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 07:20:20 +00:00
Ryan Gustafson 2990661b5f Add Saxon to Eclipse classpath.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6492 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 06:21:16 +00:00
Ryan Gustafson 66283d5da4 Add support for XPath 2.0 and XPath 1.0 compatibility using Saxon. This is implemented using the Saxon OM classes, for good performance. Existing PMD XPath functions are refactored to be compatible with Saxon's extension support. The functions are exposed using 'pmd' and 'pmd-java' namespace prefixes, while these prefixes cause no issues for Jaxen, they are required by Saxon.
If you want to experiment using XPath 1.0 compatibility mode, simply change the default index on the 'version' enum property in XPathRule to a 1.  All Rules work properly in this mode using Saxon.  RuleChain is not in use, so performance is not currently as good as Jaxen, but it's not horrendous either.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6491 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 06:17:42 +00:00
Ryan Gustafson a3efb90211 Add SaxonB 9.1.0.2b. Also an Ant script which removes the TransformerFactory file, which if not removed causes Saxon to be used instead of the JVM default. SaxonB is not schema aware, but Xerces is. Changing how all XML processing is done is more than PMD should be dictating to any code which uses with PMD, thus this minor tweak to the Saxon jar.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6490 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-18 05:53:52 +00:00
Ryan Gustafson dd3e4d1b1f Remove empty packages that have been refactored already.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6489 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-17 03:30:25 +00:00
Ryan Gustafson 28c1c9437e Remove empty packages that have been refactored already.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6488 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-17 03:23:54 +00:00
Ryan Gustafson 93b9f18764 Remove incorrect @Override annotation, move method above java.lang.Object overrides instead of at end of file.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6487 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-17 03:08:14 +00:00
Xavier Le Vourch 4baa8866be code cleanup: javadoc warnings, use {@inheritDoc} tag
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6483 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-15 06:54:00 +00:00
Brian Remedios 8cd51f218b dogfood bugfix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6482 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-15 05:12:55 +00:00
Brian Remedios be36b08115 Partial update to allow easier property descriptor integration with XPATH rules. All property types can return any additional attributes in map.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6481 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-15 04:19:49 +00:00
Xavier Le Vourch 37577e7c68 retroweaver was updated to 2.0.6
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6480 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-14 04:05:10 +00:00
Xavier Le Vourch 3d992a4001 reorganization:
`pmd' target was removed

`qa' target can do most of the checks prior to generating a new release
(it's also used by the continuous integration setup)


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6479 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-13 17:52:42 +00:00
Ryan Gustafson 9314f35494 Refactor XPathRule, to support a "version" property (currently defaulting to 1.0), which will cause an underlying XPathRuleQuery to be used to handle the XPath query. The current XPathRule logic is moved into JaxenXPathRuleQuery, for 1.0 version. A SaxonXPathRuleQuery is added, for handling 2.0 and 2.0 compatibility mode versions. The Saxon implementation will be completed in a future commit.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6478 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-13 07:15:18 +00:00
Ryan Gustafson 97df3571b2 Upgrade Retroweaver to 2.0.6. Some of the upcoming changes for XPath 2.0 use some of the Integer functions added in 2.0.6 (e.g. Integer.signum).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6477 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-13 06:13:36 +00:00
Ryan Gustafson bb25fc773a Rename Node.getAsXml() to Node.getAsDocument(), which is a more accurate naming.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6476 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-13 06:04:21 +00:00
Ryan Gustafson 6cb5ffae77 Remove "pmd" target, which doesn't seem to be used. "pmdOnPmd" is the equivalent.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6475 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-13 05:57:32 +00:00
Ryan Gustafson 4eec4cdd51 Rename Node.getAsXml() to Node.getAsDocument(), which is a more accurate naming.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6474 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-13 05:47:17 +00:00
Xavier Le Vourch 7e22318763 new internal ruleset for pmd specific rules that may not apply to
general purpose Java code.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6473 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-11 20:25:08 +00:00
Xavier Le Vourch 7f25760ba1 code cleanup: javadoc warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6472 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-11 17:04:39 +00:00
Xavier Le Vourch 20ee70ae16 code cleanup: x.getClass().equals(ASTxxx.class) replaced by x instanceof ASTxxx.
I used the XPath expression below to detect most cases but I don't think it's
general enough to create a new rule...

//PrimaryExpression[
(
PrimaryPrefix[Name[ends-with(@Image, 'getClass')]] or
PrimarySuffix[@Image='getClass'])
and
PrimarySuffix[Arguments[count(ArgumentList)=0]]
and
PrimarySuffix[@Image='equals']
and
PrimarySuffix/Arguments/ArgumentList/Expression/PrimaryExpression/PrimaryPrefix
/ResultType/Type/ReferenceType/ClassOrInterfaceType
]


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6471 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-11 16:36:07 +00:00
Xavier Le Vourch 4119862e6d code cleanup: use ASTLiteral.isStringLiteral()
new property 'minimumLength' instead of hard coded minimum value

reformatting


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6470 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-11 07:13:10 +00:00
Xavier Le Vourch 364fc5e4a9 code cleanup: use of ASTLiteral.isStringLiteral()
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6469 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-11 06:42:38 +00:00
Xavier Le Vourch 69a1b7f0c0 Fixed ClassCastException in symbol table code
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6467 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-10 19:45:33 +00:00
Xavier Le Vourch 3765c30c99 Fixed ClassCastException on generic method in BeanMembersShouldSerialize
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6465 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-10 18:30:57 +00:00
Xavier Le Vourch c2cc486c36 cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6464 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-10 18:29:13 +00:00
Romain Pelisse dd1cd332a4 Code upgrade advised by Ryan:
* Using Language.commaSeparatedTerseNames(Language.findWithRuleSupport()), rather than specific method (which has been removed)
* Getting ride off findByExactName, keeping only the "ignoreCase" one.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6463 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-08 20:41:27 +00:00
Brian Remedios 3a2155727a grammar fixes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6462 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-08 05:26:33 +00:00
Brian Remedios 1ca1a6fc67 misc test update
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6461 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-08 05:09:05 +00:00
Brian Remedios 84ed28daea minor refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6460 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-08 03:29:25 +00:00
Brian Remedios 5f95b5a799 New property descriptor constructors for single-value types that accept string values to simplify external/factory usage
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6459 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-08 03:17:15 +00:00
Brian Remedios 1e2c6f2952 Property descriptor cleanup: rm obsolete isMultiValue flag, Javadocs, new interface for numerics
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6458 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-08 01:35:43 +00:00
Romain Pelisse 399a04a50b Job not done, until QA is done...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6457 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-07 01:55:18 +00:00
Romain Pelisse b34658b57a Updating documentation on new command line usage
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6456 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-07 00:16:29 +00:00
Romain Pelisse 832c0c8401 Oops, forget something ...²
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6455 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-07 00:12:56 +00:00
Romain Pelisse 58b243e830 Refactoring command line tool to remove '-nojsp, -nojava,-targetjdk' options.
Implemented a new option "-lang" which must be followed by two arguments (ex: "-lang java 1.4").

Added "get default" for both Language and LanguageVersion, in order to centralize all of this, a lit bit more.

Change behavior of 'findByerseName(String terseName)' , to ignore case differences, kept old method
with the name 'findByExactTerseName(String terseName)'


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6454 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-06 23:56:35 +00:00
Xavier Le Vourch 1998af1a13 invalid jdk message was updated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6453 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-05 23:51:29 +00:00
Xavier Le Vourch ae8049f120 PMDTask uses the LanguageVersion enums to validate the targetJDK option
instead of duplicating the valid values


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6452 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-05 23:45:18 +00:00
Xavier Le Vourch 7c16972110 Documentation updates:
Ant requirement is now 1.7.0 or higher for compilation
       JUnit testing jar is packaged on 1.7.0+ only in ant binary distributions
       Note that the ant task still works with 1.6.0 and higher

requirements for JRE versions and ant updated on web pages

misc obsolete info in web pages updated or removed


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6451 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-05 23:42:11 +00:00
Xavier Le Vourch df4186afb5 new target 'all' to be called during Hudson CI regression testing to validate that pmd task can still run with ant 1.6.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6450 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-05 16:44:18 +00:00
Xavier Le Vourch 39616db9dd adding ant-testutil.jar to .classpath
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6449 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-05 04:47:00 +00:00
Xavier Le Vourch 5fb628bae3 relative paths for custom rulesets are now handled properly when ant is called
from a different directory using the "-f" option.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6447 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-04 22:41:38 +00:00
Xavier Le Vourch 52269364e5 cpdOnPmd min token count changed to 100
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6446 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-04 19:34:24 +00:00
Xavier Le Vourch 35aed0d78e toString() redefined
reformatting using Eclipse settings


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6445 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-04 18:53:41 +00:00
Xavier Le Vourch 87adc89f18 extra test cases for ant task, relative paths may still be an issue
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6444 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-04 18:49:10 +00:00
Xavier Le Vourch 3c2eea65ab The previous commit in PMDTask broke the tests as the path resolution
means a full ant setup must exist.

The testing is now based on BuildFileTest from ant-testutil.jar and uses
an xml build files with a specific target for each test case.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6443 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-04 15:20:58 +00:00
Xavier Le Vourch 604a45d941 Fixed bug 1943204 - Ant task: <ruleset> path should be relative to Ant basedir
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6441 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-03 23:32:05 +00:00
Xavier Le Vourch eba9475b2c Fixed bug 1481051 - false + UnusedNullCheckInEquals (and other false positives too)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6439 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-03 20:17:51 +00:00
Xavier Le Vourch f1aa36187c duplicated tests: UnusedNullCheckInEqualsTest.java already tests UnusedNullCheckInEquals rule
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6438 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-03 20:14:15 +00:00
Xavier Le Vourch 25bf4a3dfa pmd.jar updated to 4.2.3
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6437 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-02 18:47:55 +00:00
Xavier Le Vourch 1d3db74ee0 code cleanup: setPublic(), setPrivate(), ... are now deprecated to reflect
their deprecated status in the AccessNode interface


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6436 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-02 18:26:09 +00:00
Xavier Le Vourch e382173749 javacc updated to official 4.1 version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6433 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-02 16:14:53 +00:00
Tom Copeland 02ae7de255 Dr. Wedemann isn't working in this area anymore, so removing this
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6432 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-02 13:09:44 +00:00
Ryan Gustafson 2eb9de0c30 Major refactoring for PropertyDescriptors. Changes include:
1) Genericization of PropertyDesciptors, which facilitates the DRY principle
2) Split multi-valued PropertyDesciptors into separate classes, to take full advantage of Generics
3) Remove simple String property accessors from the Rule interface, only PropertyDescriptor are supported now
4) Properties are defined via Rule.definePropertyDescriptor(PropertyDescriptor) interface, normally called in a Constructors
5) RuleSet XML enhanced to support PropertyDescriptor defining
6) RuleSetFactory and RuleSetWriter account for the more robust property definitions
7) All RuleSet XMLs corrected to move definitions to Java classes where needed, and to including necessary Type information where missing


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6431 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-01 06:14:11 +00:00
Xavier Le Vourch 51bdf6faf4 previous commit was a little too aggressive
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6423 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 23:05:25 +00:00
Xavier Le Vourch 8f4f95ddff Fixed handling of escape characters in UseIndexOfChar and AppendCharacterWithChar
problems discovered while refactoring detection of single char in String
literals, now done by isSingleCharacterStringLiteral() method in ASTLiteral.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6421 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 20:25:16 +00:00
Xavier Le Vourch 742beba5b3 code cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6420 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 04:10:46 +00:00
Xavier Le Vourch 0e2551cffb code cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6419 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 02:14:55 +00:00
Xavier Le Vourch 18426373cb Fixed bug 1556594 - Wonky detection of NullAssignment
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6417 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 01:51:13 +00:00
Xavier Le Vourch 6acce3e022 Fixed bug 2050064 - False + SuspiciousOctalEscape with backslash literal
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6416 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 01:07:44 +00:00
Xavier Le Vourch 44c7f5580e Fixed bug 1977438 - False positive for UselessStringValueOf
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6413 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 00:11:08 +00:00
Romain Pelisse 39274e2f69 Refactoring unit test to match new package layout.
nb: If you have altered,in the last couple of week, some of the unit test just refactored, please do not hesitate to double check my modifications  (i don't entirely trust svn, neither should you :) )

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6412 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-27 18:44:57 +00:00
Xavier Le Vourch a27f71b55f refactoring of AbstractNode.findChildNodesWithXPath calls
almost all calls only checked for isEmpty() so a new method
hasDescendantMatchingXPath() now handles that while also dealing
with the JaxenException.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6411 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 22:00:22 +00:00
Xavier Le Vourch 3e304984ec oops, previous change broke the build because of pmdOnPmd violation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6410 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 19:43:10 +00:00
Xavier Le Vourch 98e66f6317 merged from 4.2.x: Fixed false negative in UselessOverridingMethod
The only change is from "< 0" to "> 0", the rest if reformatting


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6409 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 19:21:56 +00:00
Ryan Gustafson 7c928df479 Formatting change, to make future diffs easier to understand.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6407 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 07:00:02 +00:00
Ryan Gustafson 182232760d Delete bogus folder Subclipse decided to helpfully create when I tried to disconnect/re-connect a Project to SVN.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6406 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 05:56:21 +00:00
Ryan Gustafson 2283c03f91 Initial import.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6405 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 05:50:16 +00:00
Brian Remedios 7f9c1d92d6 Javadoc cleanup per Checkstyle warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6404 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 05:38:13 +00:00
Brian Remedios 63cfd6ccf0 Refactored IntegerProperty to gain upper/lower limits per other numeric types. Updated all rules that use them with best-guess boundary values.
Updated changelog.txt

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6403 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 05:10:48 +00:00
Brian Remedios f7d2529a79 Javadoc cleanup only
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6402 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 02:46:43 +00:00
Brian Remedios bab5adaf81 Minor code cleanup, Javadoc tweaks, implemented choices() method on EnumeratedProperty
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6401 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 00:55:29 +00:00
Xavier Le Vourch 630b4988c5 merged from 4.2.x branch: All comment types are now stored in ASTCompilationUnit, not just formal ones
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6399 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 19:40:40 +00:00
Xavier Le Vourch fa89131b76 code cleanup: javadoc warnings removed
reformatting to use only spaces and not tabs


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6397 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 03:54:27 +00:00
Xavier Le Vourch 5dcf77bd74 eclipse complained about incorrect @Override annotations
reformating to use spaces intead of tabs


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6396 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 03:13:00 +00:00
Xavier Le Vourch e57f747c43 String.isEmpty() is only available in jdk1.6, cannot be used for testing for jdk1.4 or 1.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6395 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 01:51:14 +00:00
Xavier Le Vourch 630aa59c83 suite() must be defined for tests using jdk 1.4
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6394 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 01:50:31 +00:00
Brian Remedios 3abcb539f3 revert previous adjustment in MethodProperty, they public static values after all
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6393 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 01:13:17 +00:00
Brian Remedios d1ed718e2b +Javadoc, minor code cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6392 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 01:03:01 +00:00
Brian Remedios c013c569da +Javadoc & rm dead constant in AbstractPackagedProperty
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6390 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 00:53:22 +00:00
Brian Remedios 22c7ac3c54 bugfix for MethodPropertyTest, rm dead code in CharacterPropertyTest, misc Javadoc in EnumPropTest.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6389 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 00:35:47 +00:00
Brian Remedios bfa41bb6cd Completed Method & Type property descriptors and refactored them under a common class that can filter by optional package prefixes. Matching test cases for same.
Updated TypeMap to catch errors, new test cases.

Updated ClassUtil with new functionality for the new descriptors and restored lost indentation formatting.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6388 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-24 23:05:01 +00:00
Ryan Gustafson 3e984b1220 Added credit for Jared's patch.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6387 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-24 06:10:08 +00:00
Ryan Gustafson f7398730ef JavaCC code generation modified to include the Token class. Now the only thing not regenerated should be the AST classes.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6383 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-24 01:47:26 +00:00
Ryan Gustafson e3ffba580c Java grammar enhanced to include AnnotationMethodDeclaration as parent node of method related children of AnnotationTypeMemberDeclaration.
JavaCC generated artifacts updated to JavaCC 4.1d1.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6382 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-23 05:50:30 +00:00
Ryan Gustafson 48df917cb6 JavaDoc warning fixes from 'qa' target.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6381 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-22 03:44:48 +00:00
Brian Remedios 6f9e4ca14b minor performance tweak
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6380 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-22 02:41:41 +00:00
Brian Remedios 16dd7f76e3 minor cleanup: new Integer() -> Integer.valueOf(), ditto for Float & Double classes as well.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6379 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-22 02:29:54 +00:00
Brian Remedios 4ee22c4c8b Minor JavaDoc cleanup and tweaks within the properties & related test classes, no functional changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6378 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-22 01:38:45 +00:00
Xavier Le Vourch 69bd24e811 make sure site generation doesn't keep older files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6377 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-21 21:28:20 +00:00
Xavier Le Vourch a7fce3aa03 clover version update
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6376 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-21 20:30:48 +00:00
Brian Remedios 308c458690 bugfix for faulty randomDouble generator
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6375 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-21 02:52:13 +00:00
Brian Remedios 61070bc9cf Refactored FloatProperty under Abst.Numeric to gain bounding limits. Adjusted test cases to match. Some JavaDoc tweaks as well.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6374 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-21 01:58:41 +00:00
Brian Remedios 7c6f11dd07 Minor revision to PropertyDescriptor interface (maxValueCount -> isMultiValue)
Reworked all property descriptors, augmented JUnit tests

Added the core get/set methods to the Rule interface, remaining Type & Method property descriptors need further refinement

Added pass-through methods on RuleDelegate per changes in Rule interface

Added new AbstractNumericProperty that captures boundary limits for external editors. DoubleProperty is subclass of it, others to follow once all is ok after this check-in

Deprecated all remaining string-based property accessors, need to figure out how to accommodate XPATH parms and the like. All rules with properties need descriptors to access them, may use alternate approach for external XPATH ones?

Minor optimization in RuleSetFactory

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6373 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-20 22:44:00 +00:00
Brian Remedios 157d89fa80 New isEmpty() method for upcoming changes, StringBuffer -> StringBuilder substitution
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6372 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-20 04:11:13 +00:00
Xavier Le Vourch 15e2eb7d9e merged from 4.2.x: Fixed bug 2056318 - False positive for AvoidInstantiatingObjectsInLoops
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6371 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-19 22:20:27 +00:00
Ryan Gustafson 3f3dab563b Added YourKit Java Profiler logo to Credits.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6368 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-15 13:32:51 +00:00
Romain Pelisse 3f306ba17c I assigned to myself some item on the TODO list in the changelog.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6367 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-11 14:55:32 +00:00
Brian Remedios f835824c53 Collect all rule property values as a map for an external editor
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6366 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-11 03:16:31 +00:00
Brian Remedios 1e8a786f0e fix for capitalization issue identified in build report
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6365 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 18:15:14 +00:00
Brian Remedios 44245a61cc typos
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6364 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 18:09:08 +00:00
Brian Remedios ba5ab3d250 typo, added description
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6363 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 18:08:12 +00:00
Brian Remedios e86724fb17 ordered descriptor properties
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6362 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 18:05:44 +00:00
Brian Remedios 9f05067482 "." -> '.' replacements, +TODO comment
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6361 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 18:03:11 +00:00
Brian Remedios b1e4e8da64 +comment: threshold property should be an int vs a string? Also the descriptor names are too generic, potential for clash with other rules.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6360 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 17:59:25 +00:00
Brian Remedios 13e6659cc6 fix for invalid use of property descriptors
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6359 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 17:57:46 +00:00
Brian Remedios bd2d407253 static initialization cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6358 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 17:56:19 +00:00
Brian Remedios fad5f31f92 Optimization: replaced StringBuffer with StringBuilder
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6357 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-10 17:06:55 +00:00
Brian Remedios f11c920a88 typos
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6356 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 07:59:57 +00:00
Brian Remedios d571ef2874 cleanup per issues noted in build rpt
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6355 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 07:12:59 +00:00
Brian Remedios 84aa5365d0 whoops..bugfix for earlier commit
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6354 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:47:36 +00:00
Brian Remedios d43c123b56 cleanup per issues noted in build break rpt
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6353 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:41:54 +00:00
Brian Remedios 92f5b2ad78 append single char vs single char string optimization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6352 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:30:51 +00:00
Brian Remedios 8fef0ff6a9 added missing descriptor hook for external editor
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6351 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:28:08 +00:00
Brian Remedios fbe2674a73 rm obsolete comment
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6350 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:20:18 +00:00
Brian Remedios 476c47ae95 added missing descriptor hook for external editor & collection tweak
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6349 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:14:32 +00:00
Brian Remedios 37f4d46744 added missing descriptor hook for external editor & typo
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6348 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:09:46 +00:00
Brian Remedios f7a4f0e0b5 added missing descriptor hook for external editor
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6347 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 06:04:07 +00:00
Brian Remedios b86d8825c4 rm completed suggestion comment
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6346 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 05:54:53 +00:00
Brian Remedios 80a80939c9 minor refactorings & performance tweaks
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6345 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 05:51:26 +00:00
Brian Remedios b1b38d120f minor refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6344 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 05:30:32 +00:00
Brian Remedios c4489393d3 Typo fix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6343 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-09 04:45:23 +00:00
Ryan Gustafson c3d90ec4d2 Add requested credit for YourKit, for use of licenses.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6342 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-08 13:01:12 +00:00
Ryan Gustafson 3486ab0a36 Correct JavaDoc problems pointed out by Eclipse.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6340 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-01 04:56:53 +00:00
Ryan Gustafson de5e3cbab0 Change getArguments() method to return -1 instead of throwing an exception when there are no arguments. This is necessary to support DOM representation of this Node based simply upon existence of a JavaBean property on this class.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6339 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-01 04:07:43 +00:00
Ryan Gustafson 13d1ec6206 Remove unnecessary prefix on function calls. These functions are non-standard XPath 1.0 functions built into Jaxen, and seem to work without the prefix (no unit tests fail). They are however standard XPath 2.0 functions, and do not need a prefix. This change makes the queries compatible with both XPath 1.0 Jaxen and XPath 2.0.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6338 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-29 03:29:36 +00:00
Ryan Gustafson 36a6580c34 Correct performance regression related to initialization of XPath query.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6337 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-29 02:09:41 +00:00
Ryan Gustafson 42c2643282 Preserve original exception when wrapping.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6336 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-25 08:11:31 +00:00
Xavier Le Vourch 979a60dca1 merged from 4.2 branch: Fixed bug 2002722 - false + in UseStringBufferForStringAppends
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6335 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-23 00:51:42 +00:00
Xavier Le Vourch 80bbfd5db1 Setting permissions on uploaded files @ sf.net
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6333 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-18 23:35:40 +00:00
Tom Copeland cde9240cae Updated CodePro notes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6331 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-18 12:32:26 +00:00
Xavier Le Vourch a3ddf7f8ca code cleanup: deprecated calls to setFinal()
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6330 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-16 04:02:47 +00:00
Xavier Le Vourch f44b9af001 useless @SuppressWarnings(unchecked) removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6329 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-16 03:49:15 +00:00
Xavier Le Vourch eebd21a2bf deprecated method Rule.getExample() removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6328 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-16 02:16:02 +00:00
Xavier Le Vourch bd07acb6f3 use PropertyDescriptor class instead of deprecated String based properties
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6327 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-16 00:58:33 +00:00
Xavier Le Vourch 20b584bede code cleanup: import clauses
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6326 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-12 04:06:55 +00:00
Xavier Le Vourch 97ff0b6a84 snapshot script updates
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6325 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-11 20:22:21 +00:00
Xavier Le Vourch 2e14272b6c deprecation warnings are used for CI trend analysis
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6324 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-10 19:26:00 +00:00
Xavier Le Vourch 76056be0d1 code cleanup: depecated methods
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6323 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-03 17:48:24 +00:00
Xavier Le Vourch 4d9bd31228 clover report setup changes to accomodate hudson plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6322 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 05:13:14 +00:00
Ryan Gustafson 16aa7132d7 Dogfood now contains LooseCoupling.
Refactored usages of LinkedList to use ArrayList, primarily in the DFA area, but a few other places too.  AFAICT, a LinkedList wasn't strictly needed here (not insert/delete performance needs), and if used would likely be a tad bit slower due to the extra object creations which goes on behind the scenes for each item in the List compared to an ArrayList.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6321 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 04:18:58 +00:00
Tom Copeland 47db48d5e8 Meh, that space can be put to better use
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6320 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 04:16:32 +00:00
Xavier Le Vourch 13ada27140 clover target added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6319 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 03:55:17 +00:00
Ryan Gustafson 85ff8d4d13 Dogfood now contains CompareObjectsWithEquals.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6318 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 02:37:46 +00:00
Ryan Gustafson e2f9e373b6 Dogfood now contains SimplifyBooleanReturns.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6317 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 02:30:46 +00:00
Ryan Gustafson fe2671e95d Dogfood now contains UseCollectionIsEmpty.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6316 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 02:18:49 +00:00
Ryan Gustafson 1459c8789c Dogfood now contains ClassWithOnlyPrivateConstructorsShouldBeFinal.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6315 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 02:15:36 +00:00
Ryan Gustafson 6b4aea9271 Dogfood now contains ClassWithOnlyPrivateConstructorsShouldBeFinal.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6314 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 02:10:12 +00:00
Ryan Gustafson 159e2443c3 Dogfood now contains SimplifyConditional.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6313 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-02 02:04:54 +00:00
Tom Copeland 3a470f06c5 Looks like the Ant task doesn't take 'debug' anymore
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6309 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-01 13:49:53 +00:00
Xavier Le Vourch 1fdd1e39f4 full file names needed for hudson pmd plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6308 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 18:45:24 +00:00
Xavier Le Vourch 71cb7bbd08 new target "reports"
it generates reports for checkstyle and pmd (using dogfood-goal.xml) in build/reports

also, reorganization of reports for junit tests in subdirectories of build/reports


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6307 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 17:59:14 +00:00
Ryan Gustafson fa0d2e4a6b Dogfood now contains SuspiciousConstantFieldName.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6306 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 06:35:00 +00:00
Ryan Gustafson e0a5913f8c Dogfood now contains VariableNamingConventions.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6305 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 06:28:58 +00:00
Ryan Gustafson 8ede80d646 Fix false positive in VariableNamingConventions on contents of inner classes in declarations. I had introduced this problem with recent improvements to the Rule.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6304 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 05:11:52 +00:00
Ryan Gustafson 8913660672 Widen return type from Node.findChildNodesWithXPath() to List<? extends Node> from List<Node> allow casting results to a List of subclasses of Node (e.g. List<ASTVariableDeclarator>).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6303 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 05:05:51 +00:00
Ryan Gustafson b35f990933 Widen return type from Node.findChildNodesWithXPath() to List<? extends Node> from List<Node> allow casting results to a List of subclasses of Node (e.g. List<ASTVariableDeclarator>).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6302 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 05:04:17 +00:00
Ryan Gustafson 9308da2f4b Improve messages produced by VariableNamingConventions rules.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6301 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 04:40:41 +00:00
Ryan Gustafson c82718df38 Dogfood goal. Delete this once we reach it. Xavier expressed interest in this for some reporting experiments.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6300 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 04:24:16 +00:00
Xavier Le Vourch f8d1b52a2b new rule UseVarags added
deprecated messages for basic ruleset rules

rules are sorted by ruleset


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6299 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 04:22:35 +00:00
Ryan Gustafson b802756b80 Missed a file for recent VariableNamingConventions change.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6298 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 04:04:10 +00:00
Ryan Gustafson f40a793de8 Added UseVarargs rule to the Java language Design ruleset, minimum language version of 1.5.
Excluded from dogfood for now.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6297 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 04:03:11 +00:00
Xavier Le Vourch 757c27e147 testTSM() disabled in regress mode:
because of random failures during continuous integration,
tests are disabled in regress mode until somebody figures out
what the tests are supposed to measure and why they sometime fail


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6296 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 02:32:35 +00:00
Ryan Gustafson 492f926420 Fix false negative for non-primitive types for VariableNamingConventions, also expanded scope to local and method/constructors, and enhanced customization options to choose between members/locals/parameters (all checked by default).
Yes, this Rule now reports on things it didn't report on before because of (1) a false negative fix, and (2) expansion of scope to cover locals and parameters.  I believe locals were always intended to be checked, but the implementation was non-functioning.



git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6295 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-30 01:53:11 +00:00
Xavier Le Vourch 876e85ffe3 -benchmark option displays rule average time for regular and chained rules
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6294 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-28 02:37:13 +00:00
Ryan Gustafson af6869cb61 Dogfood now contains SuspiciousEqualsMethodName.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6293 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-28 01:18:44 +00:00
Ryan Gustafson 9133c30edf Dogfood now contains UseIndexOfChar.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6292 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-28 01:12:35 +00:00
Ryan Gustafson 24026cf487 Dogfood now contains SimplifyStartsWith.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6291 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-27 14:57:54 +00:00
Ryan Gustafson 924adc1c39 Dogfood now contains AddEmptyString.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6290 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-27 14:52:53 +00:00
Ryan Gustafson d371a70e99 Dogfood now contains InsufficientStringBufferDeclaration.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6289 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-27 14:47:08 +00:00
Ryan Gustafson 5ff1e71e6c Fix false positive where StringBuffer.setLength(0) was using default constructor size of 16, instead of actual constructor size.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6288 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-27 08:12:23 +00:00
Ryan Gustafson ffe0789340 Dogfood now contains AvoidStringBufferField.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6287 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 18:17:57 +00:00
Ryan Gustafson 922e656a17 Remove unused MyPrintStream class.
Idea for a Rule: Don't use "My" (or any String from a comma separated list) as a prefix for class names.  Optional property 'topLevelOnly' to limit the Rule to top level classes only, I'm cool with it for inner classes.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6286 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 18:15:58 +00:00
Ryan Gustafson 18aa199556 Dogfood now contains UnusedPrivateMethod.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6285 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 18:09:06 +00:00
Xavier Le Vourch d534b35c31 snapshot can be uploaded to pmd.sourceforge.net/snapshot using 'tools/shell/generate_snapshot.sh <version>'
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6284 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 05:48:07 +00:00
Ryan Gustafson e32813ae6b Dogfood now contains UnusedModifier.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6283 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 03:59:23 +00:00
Ryan Gustafson 51a769456d Dogfood now contains UselessParentheses.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6282 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 03:54:30 +00:00
Ryan Gustafson ab11ffe82a Fix false positive on CastExpressions for UselessParentheses.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6281 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 03:52:26 +00:00
Ryan Gustafson b664dc2846 Correct NPE by restoring code which initializes the method/constructor Lists.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6280 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 02:50:57 +00:00
Ryan Gustafson 2aaa9cd05c Dogfood now contains UnnecessaryReturn.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6279 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 02:31:02 +00:00
Ryan Gustafson 64bf201ca6 Dogfood now contains UnnecessaryFinalModifier.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6278 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 02:22:34 +00:00
Ryan Gustafson 8b068981d5 Dogfood now contains UseArrayListInsteadOfVector.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6277 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 02:20:18 +00:00
Ryan Gustafson 2b5111124c Dogfood now contains LoggerIsNotStaticFinal.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6276 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 01:42:03 +00:00
Ryan Gustafson 5cf71863ee Dogfood now contains SwitchStmtsShouldHaveDefault.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6275 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 01:21:49 +00:00
Ryan Gustafson 0839364579 Dogfood now contains MissingBreakInSwitch.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6274 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 01:06:59 +00:00
Ryan Gustafson 7c9b3021d0 Dogfood now contains DontImportSun.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6273 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 00:47:04 +00:00
Ryan Gustafson 5c99c71969 Dogfood now contains AvoidUsingShortType.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6272 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 00:42:35 +00:00
Ryan Gustafson 216236c57d Dogfood now contains OneDeclarationPerLine.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6271 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-25 00:37:39 +00:00
Ryan Gustafson c7aba55e80 Dogfood now contains AssignmentInOperand.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6270 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 20:06:42 +00:00
Ryan Gustafson 9e1136b59a AssignmentInOperand enhanced to catch assignment in 'for' condition, as well as use of increment/decrement operators. Customization properties added to allow assignment in if/while/for, or use of increment/decrement.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6269 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 19:59:18 +00:00
Ryan Gustafson 48421793f2 Dogfood now contains UnnecessaryConstructor.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6268 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 18:30:12 +00:00
Romain Pelisse f3941987cf Updating Thomas Leplus credits.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6265 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 10:55:13 +00:00
Romain Pelisse 2fe5b2bed3 Adding a proper example to TooFewBranchesForASwitchStatement rule.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6264 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 10:42:04 +00:00
Ryan Gustafson 173abbb441 Dogfood now contains AvoidPrefixingMethodParameters.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6263 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 06:18:06 +00:00
Ryan Gustafson 7fd6d76c10 Dogfood now contains JumbledIncrementer.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6262 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 06:13:45 +00:00
Ryan Gustafson cf21f25ac6 Dogfood now contains WhileLoopsMustUseBraces.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6261 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 06:10:53 +00:00
Ryan Gustafson d5586fe799 Dogfood now contains ForLoopsMustUseBraces.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6260 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 06:07:28 +00:00
Ryan Gustafson 43ffde4d9f Dogfood now contains IfElseStmtsMustUseBraces.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6259 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 05:59:56 +00:00
Ryan Gustafson 063823f699 Dogfood now contains IfStmtsMustUseBraces.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6258 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 05:54:44 +00:00
Ryan Gustafson 56e5e36579 Dogfood now contains OverrideBothEqualsAndHashcode.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6257 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 05:39:45 +00:00
Ryan Gustafson 041ae693c0 Dogfood now contains EqualsNull.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6256 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 05:34:51 +00:00
Ryan Gustafson b6da1c6516 Dogfood now contains UnusedLocalVariable.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6255 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 05:33:11 +00:00
Ryan Gustafson 8e0564b1ca Changed the dogfood to be all encompassing. The goal is for every Rule which can be applied to PMD, to be applied automatically. If a Rule is not to be applied, then it must be explicitly exclude from the dogfood RuleSet.
For now, I've made arbitrary decision about which Rules we will exclude (and thus implicitly which will be included).  For Rules which are to be included, but for which the PMD code is not yet passing the Rule, there is a temporary exclusion (see the numerous TODO comments and the excludes below each such comment).

Finally, the Ant pmdOnPmd target is changed to fail on rule violations (which will break the CC build!).  Essentially, dogfood is not optional anymore, so no more excuses for being sloppy (I'm guilty of this!).  All PMD code must pass our own dogfood.  Plan is to work during the 5.0 timeline to get the code base to be 100% compliant with the "ideal" dogfood RuleSet.

I imagine I won't get disagreement on this change, but perhaps debate/feedback on individual Rules?

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6254 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 05:14:37 +00:00
Ryan Gustafson 50370ca460 Minor fix to example. Reformat attribute to remove embedded newline.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6253 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 02:29:13 +00:00
Xavier Le Vourch bd833485a9 empty.xml and useless.xml added as they are deprecated in basic.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6252 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 01:33:46 +00:00
Ryan Gustafson 9dad20cac8 Back out RuleSet cache performance optimization in RuleSetFactory due to thread-safety issues.
Can re-address this in the future, if some elegant solution comes to mind.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6251 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-23 23:30:31 +00:00
Romain Pelisse 7b3254dc16 Applied patch for this bug entry "[ 1964798 ] 3 bugs in CloseResourceRule (with fixes attached)"
2 of the issues are fixed, but the last one is not. I'll try to see this with Conrad Amstrong, who contribute thoses modification, in the following days. As the remaining bug is not a regression test, i add the appropriate attribute.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6250 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-23 21:54:20 +00:00
Xavier Le Vourch 1cdecb2ff4 optimization: ConcurrentHashMap instead of Collections.synchronizedMap
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6249 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-23 20:19:28 +00:00
Ryan Gustafson 029503348d Add 'deprecated' attribute to Rules, to facilitate the PMD project reorganizing Rules in a backward compatible fashion without breaking user's RuleSets, while at the same time giving the user notice of an impending change (e.g. fix your RuleSet now, or face an error in the future). Practically speaking this feature can be used to rename Rules as well as indicate they are going to be removed.
Note: Untested possible scenarios are (1) deprecated reference chains (e.g. multiple renames/moves) (2) rename within the same RuleSet.  Address these when they come up.

The RuleSetFactory has had the most changes made to it.  Changes include:
1) Warning messages are logged when using deprecated Rules by reference from the top most user specific RuleSet.
2) When loading an entire RuleSet by reference, deprecated Rules are dropped automatically. In some sense this is backward incompatible in terms of behavior, but it's the best choice.
3) Rework some of the loading mechanics to ensure the ClassLoader is propagated appropriately.  Also added warnings to make sure folks know not to use certain defaulting ClassLoader methods are not used in the internal implementation, and verified they are not currently used.
4) Performance optimization is made to cache intermediate RuleSets to avoid reloading them repeatedly.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6248 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-23 05:02:07 +00:00
Xavier Le Vourch 98fcb7a92c code cleanup: xpath initializations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6247 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-22 23:17:40 +00:00
Xavier Le Vourch b2e58fa26a false positive in SingularField for field in inner class
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6246 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-22 18:29:16 +00:00
Xavier Le Vourch de9c2b0e3a API Change - Changes to Node interface
Renamed - findChildrenOfType() as findDescendantsOfType()
      Renamed - getFirstChildOfType() as getFirstDescendantOfType()
      Renamed - containsChildOfType() as hasDescendantOfType()
      Added - findChildrenOfType(), non recursive version
      Added - getFirstChildOfType(), non recursive version

Some of the recursion has been removed. Profiling shows that the old
findChildrenOfType was using 4.7% of the time, the new version,
findDescendantsOfType, is now using 3.3%.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6245 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-22 18:07:30 +00:00
Ryan Gustafson 265767e86f CruiseControl fix. I'm still working on this class, but this should fix the build.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6244 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-22 05:18:54 +00:00
Ryan Gustafson 83e1230981 Rename RulePriorityEnum to RulePriority.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6243 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-22 04:26:44 +00:00
Xavier Le Vourch a74fac0a3c SingularField now checks for multiple fields in the same declaration
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6242 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-21 21:33:56 +00:00
Romain Pelisse 99e5902ece Moving all the "useless rules" out of basic.xml into ueless.xml
(Added a ref to useless rules in basic.xml, so that the empty rules are still accessible from basic ruleset).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6241 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-21 11:39:23 +00:00
Romain Pelisse a35c3f631f Moving all the "Empty rules" out of basic.xml into empty.xml
(Added a ref to empty rules in basic.xml, so that the empty rules are still accessible from basic ruleset).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6240 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-21 09:45:34 +00:00
Romain Pelisse a8613accc0 Moving all the "Empty rules" out of basic.xml into empty.xml
(Added a ref to empty rules in basic.xml, so that the empty rules are still accessible from basic ruleset).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6239 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-21 09:43:42 +00:00
Xavier Le Vourch 5ca779d9e2 bug fix: getNthParent() in AbstractNode was looping if argument was higher than ancestor number
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6238 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-20 23:19:38 +00:00
Xavier Le Vourch 1959ce1b3c SuppressWarning fixes:
Fixed bug 1998185 - BeanMembersShouldSerialize vs @SuppressWarnings("serial")

@SuppressWarnings("all") disables all warnings


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6235 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 21:40:04 +00:00
Xavier Le Vourch 81a79860f6 javadoc warnings cleanup
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6234 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 20:24:28 +00:00
Xavier Le Vourch 13327aea07 ant clean now deletes the javadoc generated files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6233 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 20:07:14 +00:00
Xavier Le Vourch 6d95bf2044 PreserveStackTrace messages updated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6231 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 02:36:44 +00:00
Xavier Le Vourch 30fb10998e Optimizations and false positive fixes in PreserveStackTrace
Rule was the most expensive one and is now 10 times faster when run on the
jdk source. This new version could still be improved but the overall speedup
on running all Java rules on the jdk tree is 8% by these changes alone...


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6230 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 02:33:07 +00:00
Xavier Le Vourch ea83a17be5 optimization of AvoidFieldNameMatchingMethodName
avoiding traversing the tree multiple times


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6229 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-18 20:00:48 +00:00
Xavier Le Vourch e2d28c80ee optimization of UnnecessaryBooleanAssertion, it was the second most expensive XPath rule, now almost twice as fast
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6228 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-18 03:44:50 +00:00
Xavier Le Vourch 0b5403dd51 fix false positives in UselessOperationOnImmutable
false positives included string were used in expressions and BigInteger
as method arguments. The immutable object is ignored only if expression's
parent is a statement expression.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6227 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-18 00:43:51 +00:00
Xavier Le Vourch 116ea27f09 spelling: compliment -> complement
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6226 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 23:18:17 +00:00
Xavier Le Vourch ae1cba8d35 oops, pattern didn't check for prefix in AvoidPrefixingMethodParameters
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6225 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 22:40:37 +00:00
Xavier Le Vourch 4b9883db76 bug fix for false positives in AvoidPrefixingMethodParameters.
Code such as:

public int foo(int index) { ... }

was incorrectly flagged. New patterns test for camel case after the prefix.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6224 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 22:32:24 +00:00
Xavier Le Vourch ce359b0b40 allow multiple patterns to be specified
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6223 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 22:29:24 +00:00
Ryan Gustafson 586ea04522 isUseFul to isUseful
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6222 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 21:34:33 +00:00
Xavier Le Vourch 3a538b9088 spelling
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6221 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 21:25:58 +00:00
Xavier Le Vourch 308ef3df31 new test cases for useless parentheses
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6220 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 20:46:28 +00:00
Xavier Le Vourch b8624df83f useless parentheses removed, trying to fix false positives in rule
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6219 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 20:44:13 +00:00
Xavier Le Vourch 863892822e new rules added to 50 ruleset
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6218 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 18:56:32 +00:00
Xavier Le Vourch c65f14d181 LogicInversion is in design ruleset
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6217 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 18:56:06 +00:00
Xavier Le Vourch fcbe97afcd incorrect rule name for EmptyStatementBlock
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6216 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 18:51:38 +00:00
Xavier Le Vourch e77b88e3ed CheckSkipResult renamed CheckSkipResultRule to comply with naming convention check
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6215 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 17:06:55 +00:00
Romain Pelisse 5ade112b66 Applying patch [ 1958955 ] CheckSkipResult
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6214 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 10:55:00 +00:00
Romain Pelisse 4ca0156efe pmdOnPmd : removing two fields that has become useless since the recent upgrade of the rule.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6213 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-17 10:43:52 +00:00
Romain Pelisse a725191dd0 Applying patch [ 1958962 ] UselessParentheses.
However, one of the provided test case is failing. I'll look into it if the original author does not fix it.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6212 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-16 21:44:03 +00:00
Romain Pelisse 154cdc0c43 Applying patch [ 1958963 ] ExtendsObject
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6211 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-16 21:06:15 +00:00
Romain Pelisse 63f4622ca3 Applying patch [ 1958960 ] EmptyStatementBlock
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6210 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-15 08:57:52 +00:00
Romain Pelisse 56f46afb8f Applying patch [ 1958960 ] EmptyStatementBlock
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6209 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-15 08:54:00 +00:00
Ryan Gustafson e8a6c1e38d Change the "excludeMarker" to "suppressMarker" to make this consistent with the use of "suppress" elsewhere in PMD, and with the standard Java @SuppressWarnings() annotation.
Remove some of the processFiles() APIs on the PMD class, we really don't need that many of them.  In this regard, the one API that allowed a LanguageVersion to be passed explicitly has been removed, and the RuleContext class update to indicate this is the preferred method of indicating the LanguageVersion to use when processing a source file.

Initial cut at adding a Configuration class, for storing all PMD configuration related items.  So far, I've just moved the stuff that was stored on the PMD class itself to the Configuration class.  Additional work will be done to move the stuff currently in CommandLineOptions and in the Ant task onto the Configuration class.  Then the processFiles methods will be modified to take a Configuration option.  This should prevent the proliferation of processFile() methods in the future, and make it possible to unify some common aspects of the command line/Ant usages.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6208 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-14 06:13:03 +00:00
Ryan Gustafson d9d07978ca Further documentation enhancement.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6207 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-14 05:55:07 +00:00
Ryan Gustafson e0b5d81d9e Update comments. Remove the excludeLines method, as we can just access the Report directly to affect the suppression.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6206 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-14 05:48:20 +00:00
Xavier Le Vourch fadb13fefb Fixed bug 1977230 - false positive: UselessOverridingMethod
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6204 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-14 00:36:58 +00:00
Romain Pelisse 08452a42f4 Fixing a XSD violation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6203 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 22:56:25 +00:00
Romain Pelisse e679535d78 Applying patch [ 1958965 ] LogicInversion
Note that i left the rule inside the basic.xml ruleset, however, maybe this one could go in the controversial... I let someone else be the judge of that :)


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6202 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 22:21:04 +00:00
Romain Pelisse cecd729be3 Added most of the more useless part of information on my developer profile :)
Except for GMT, this can quite handy, i think, to know what time is it for another developer ...

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6200 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 21:59:09 +00:00
Romain Pelisse 23e4bfa081 Remove a double entry
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6199 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 21:55:17 +00:00
Romain Pelisse eb21b00314 Applying patch [ 1958961 ] EmptyInitializer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6198 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 21:35:57 +00:00
Romain Pelisse a6092cae5a Applying patch [ 1966013 ] Missing cases in UselessOperationOnImmutable
Note that I had to do some tweak on the original patch to make it work on the trunk.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6196 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 20:35:46 +00:00
Ryan Gustafson 73e19eaded Changes to Rule interface to support a Language value. Every Rule must have a Language. All the Java AST Rule base classes will default the Language, and enforce that it cannot be changed to something else (e.g. ImmutableLanguage interface). XPath Rules must specify a Language in the RuleSet XML. All existing Rules have had their languages set appropriately.
Also added a minimum and maximum Language Version to Rules.  By default these are null, indicating a Rule applies to all versions of a Language.  Some Rules can be defined to work only on certain Language Version ranges.  It is envisioned this will be used for Java migration related rules, and for future Rules concerning newer Java language feature usage (e.g. Annotations, etc).

Next step is to rework RuleSet to no longer use Language directly, but to defer to it's Rules.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6195 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 04:57:20 +00:00
Ryan Gustafson 9b7f9a1ba8 Reformat to conventions, to make a future diff easier to follow.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6194 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 07:46:56 +00:00
Ryan Gustafson 4068628f41 Reformat to conventions, to make a future diff easier to follow.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6193 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 04:59:22 +00:00
Ryan Gustafson af02a1d52a Replace stray references to non-existent SourceType with LanguageVersion.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6192 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 04:51:42 +00:00
Ryan Gustafson c2a0302f47 Reformat to conventions, to make a future diff easier to follow.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6191 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 04:30:14 +00:00
Ryan Gustafson 169f77021e Change Rule priority into an Enum, this is just a code cleanup.
I've made sure backward compatibility is maintained at the RuleSet XML level (e.g. 1 thru 5 still work).  Unfortunately that makes the Enum is a bit odd in that the ordinal value has little use by for comparision purpose.  Unless we stopped using numbers in the XML and switch to String values (e.g. Low, Medium, etc), I don't see a way to change to using 0 thru 4, that doesn't cause silent/subtle bugs in people's usage when they migrate to PMD 5.0.  For example, 3 would no longer be Medium, but would be Medium Low.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6190 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 04:11:59 +00:00
Ryan Gustafson b17673ed0c Have pmdOnPmd Ant target serve as test of non-failing priority setting. Also have dogfood RuleSet serve as test of <exclude-pattern>, instead of using Ant facility.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6189 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 04:02:22 +00:00
Ryan Gustafson 1a8ca661bf Remove Rule.include() and Rule.setInclude(boolean).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6188 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-12 03:10:04 +00:00
Ryan Gustafson 1fd647be56 Fixed bug 1989814 - false +: ConsecutiveLiteralAppends
If the definitive type of an AdditiveExpression is known to be other than a String, don't complain.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6187 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-10 21:07:21 +00:00
Ryan Gustafson b3b2a6d01d Fixed bug 1988829 - Violation reported without source file name (actually a fix to ConsecutiveLiteralAppends)
Allowed rootNode to be defaulted whenever 'concurrentCount' is more than 0.  This will allow a VariableDeclaration to be identified as the rootNode, even if it is never referenced later.  JUnit tests pass, I hope this doesn't have unintended consequences.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6185 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-10 06:03:53 +00:00
Ryan Gustafson 2b31d92dbe Unused imports cleanup.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6183 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 06:48:14 +00:00
Ryan Gustafson c801e28e40 Correct issue getting Text node content, used wrong API. Not only was this wrong, it also would be problematic on older JVMs (outside the bounds of retroweaver).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6182 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 06:46:19 +00:00
Ryan Gustafson 2265d0cd5e For XML Language AST nodes, expose the underlying DOM node. Direct access to the DOM node should open up the opportunity to work around the limitations of the AST wrapper nodes when truly needed.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6181 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 06:38:18 +00:00
Ryan Gustafson 75f375bd3e Improvements to the way the AST node hierarchy is supported for the XML Language, specifically expose the DOM element attributes as AST Attributes when using the AST Jaxen Navigators. This is about as far as the AST wrappers need to go, they will necessarily always be limited in value, but this should provide enough basic support on the AST side of things for the XML language. The DOM objects are the only practical way to get all the information from the underlying XML.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6180 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 06:33:04 +00:00
Ryan Gustafson 5416ba3039 Designer fixes:
LanguageVersion default fixed, was incorrectly using enum ordinal() as index, needs to use index in List of LanguageVersions.

Change to use Jaxen Navigator instance as defined by the LanguageVersion.  For the XML Language, instead of the primitive AST Navigator, use a full blown DOM navigator!  This is how the XPathRule works.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6179 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 06:26:41 +00:00
Ryan Gustafson 728f16d16c Additional fixing to get exclude-pattern to work with multiple RuleSets.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6177 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 05:01:59 +00:00
Xavier Le Vourch e6b4cc5fcc error messages tests were not specific enough in ant test cases
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6176 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 23:02:35 +00:00
Ryan Gustafson e0c3e9a939 Modified Parser interface to indicate if a Language can actually be parsed or tokenized only (e.g. C++). Given that, and the existing of a LanguageVersionHandler on a given Language can be used to drive the availability of a LanguageVersion in the Designer interface.
For the XML Language, implemented the Node.jjtGetParent interface, the RootNode is the DOM node with a Document parent.  Also, fixed issues with the AST wrapping of the XML DOM nodes.  Need to cache the already wrapped nodes so the AST and DOM hierarchies are in 1-1 (isomorphic) relationship, in particular the parent and child relationships still make sense at the Java Object level.  Finally, added a very primitive dumper for XML Language, so the AST nodes can be printed in the Designer.  Feel free to enhance the dumper!

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6175 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 21:49:55 +00:00
Ryan Gustafson 3ce44ba482 Some grammar/spelling cleanups, add CDATA for a <source> block, minor reformatting of some <source> blocks for clarity/readability.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6174 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 20:45:59 +00:00
Romain Pelisse e88706b00f Updating documentation about unit-testing, fixing a <p> tag in suppressing.xml.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6173 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 20:26:49 +00:00
Romain Pelisse 1d197ca718 Changing Designer menu label from "JDK" to "Language".
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6172 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 19:52:24 +00:00
Ryan Gustafson 76c3f1611c Update RuleChainVisitor to group rules by RuleSet, and use RuleSet.applies(File) before visiting.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6171 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 17:25:02 +00:00
Ryan Gustafson 8ccfd22973 Add documentation discussing violation suppression via regex, and guidelines for which suppression techniques to use. Primary emphasis on fixing the Rule if it makes sense (and submitting back as a patch), with other options presented in preferred order (generally from simplest to most complex).
Also enhanced UnusedFormalParameter test cases to ensure documentation examples are legit.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6168 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-30 19:09:33 +00:00
Ryan Gustafson 120855e141 Enhance typeof function to support not passing an Attribute containing the String form of the type. As of PMD 4.2, not every TypeNode is a direct container for such a Type name.
It is still the case that passing in the @Image attribute will give better results in the absence of a null TypeNode.getType() return result.  Is there a way to do this automagically when appropriate based upon the TypeNode?  We pass the Class up the AST, can we pass the String too?

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6167 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-30 19:03:02 +00:00
Ryan Gustafson 0d9b8ca3a3 Rules can now define a 'violationSuppressRegex' property to universally suppress violations with messages matching the given regular expression.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6166 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-30 17:22:52 +00:00
Ryan Gustafson 7601256054 Didn't mean to commit that. It's a local workaround I use to get JUnit to show me what's wrong when XML data test case Rules run manually in Eclipse. For some reason the test failures are not showing up in Eclipse.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6165 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-28 23:51:49 +00:00
Ryan Gustafson 107dfed5c6 UnusedFormalParameter now reports violations on the parameter node, not the method/constructor node.
Also added documentation on how to use 'violationSuppressXPath' property to both the RuleSet and Suppression documentation.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6164 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-28 23:49:08 +00:00
Ryan Gustafson 1edcfe6e11 Rules can now define a 'violationSuppressXPath' property to universally suppress violations on nodes which match a given relative XPath expression.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6163 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-28 20:46:39 +00:00
Ryan Gustafson 4a9e1f8433 Update RuleSet writing documentation to mention <exclude-pattern>/<include-pattern>.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6162 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-28 19:28:46 +00:00
Xavier Le Vourch 80752b9ca4 cenqua link fixed and logo added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6160 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-27 21:53:31 +00:00
Xavier Le Vourch 11e3d25542 incorrect project name
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6158 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-26 19:33:02 +00:00
Romain Pelisse 64937d95d5 Fixing rule examples.(thks to Ryan for noticing those issues).
(forgot something the first time)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6157 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-26 11:49:54 +00:00
Romain Pelisse 0773235e6f Fixing rule examples.(thks to Ryan for noticing those issues).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6156 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-26 11:44:57 +00:00
Xavier Le Vourch 31d0be8e6e pmd library in eclipse plugin updated to 4.2.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6155 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-24 19:12:15 +00:00
Xavier Le Vourch ae6ad09674 rule spelling: OneDeclarationByLine was renamed OneDeclarationPerLine
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6154 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-24 16:00:51 +00:00
Ryan Gustafson 7361379fdc Fix rule spelling, and use existing AvoidPresentTenseVerb convention.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6153 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-24 05:35:58 +00:00
Ryan Gustafson ae08026b8c Refactor pmd.ScopedLogHandlersManager to pmd.util.log.ScopedLogHandlersManager.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6152 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-24 05:20:21 +00:00
Xavier Le Vourch bb42841867 cleanup of pmd-test-<version>.jar build
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6151 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 23:18:12 +00:00
Ryan Gustafson 48469d7c75 Fix static references to MockRule package.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6149 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 17:34:16 +00:00
Ryan Gustafson b6570245ee Refactorings:
Adding some copyright headers
   AbstractPMDProperty to AbstractPropery
   DataSource stuff into pmd.util.datasource
   Log stuff into pmd.util.log
   MockRule, AbstractDelegateRule, RuleReference into pmd.lang.rule

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6148 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 17:28:04 +00:00
Ryan Gustafson 339e4a4264 Refactor pmd.properties into pmd.lang.rule.properties.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6147 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 16:54:43 +00:00
Romain Pelisse 0adc9fedd7 Adding classes from test/net/sourceforge/pmd/testframework/**/** into the pmd.jar built by mvn.
Also added a couple of missing resources.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6146 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 14:08:56 +00:00
Ryan Gustafson 82c4333898 Delete old package.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6144 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 08:44:29 +00:00
Ryan Gustafson ac5dec4d69 Refactor Data Flow Analysis from pmd.dfa into pmd.lang.dfa and pmd.lang.java.dfa. Much of the DFA code does not appear to be Java specific, hence the pmd.lang.dfa package. I split the code between these packages based up whether or not there is usage of Language specific AST nodes. The DataFlowHandler is used to handle a few language specific aspects of DFA processing, there by moving more code into the non Language specific packaging.
This isn't perfect, merely a quick first pass.  The 2nd language that uses DFA will likely drive another practical refactoring of this code.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6143 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 08:41:21 +00:00
Ryan Gustafson f1d5f356ff Refactor Symbol Table from pmd.symboltable into pmd.lang.java.symboltable, as Symbol Table is currently Java only. Removed bogus JSP Symbol Table.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6142 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 07:23:53 +00:00
Ryan Gustafson ca6eda7e61 Refactor Type Resolution from pmd.typeresolution into pmd.lang.java.typeresolution, as TR is currently Java only.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6141 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 06:32:35 +00:00
Ryan Gustafson e2a1216285 Fix issue with JDK 1.4 unit test failure on Windows.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6140 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 06:31:09 +00:00
Xavier Le Vourch 94512fb87f rule was removed in PMD 4.0:
Fixed bug 1728789 - removed redundant rule AvoidNonConstructorMethodsWithClassName; MethodWithSameNameAsEnclosingClass is faster and does the same thing.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6138 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-21 18:23:21 +00:00
Ryan Gustafson 2ddd94645b Update Eclipse settings for how enum constants wrap for greatly improved readability. Verify by re-formatting Language and LanguageVersion.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6132 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 17:08:02 +00:00
Xavier Le Vourch 6da60f4e7c maven 1 pmd plugin page links to maven 2 plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6131 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 17:06:32 +00:00
Tom Copeland 734ef08bbc Added link to Alan's article
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6127 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 14:27:04 +00:00
Romain Pelisse e520078611 Moving Eclipse configuration to tools/config, adding proper documentation about this file in developer guidelines.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6125 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-18 06:21:30 +00:00
Xavier Le Vourch 1abebb51f5 code cleanup: useless parentheses
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6124 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-17 04:49:12 +00:00
Xavier Le Vourch 5827b86035 code cleanup: useless check for null
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6123 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-17 04:48:49 +00:00
Xavier Le Vourch 4bd104698f code cleanup: generics, eclipse warnings, ...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6122 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-17 04:13:28 +00:00
Xavier Le Vourch 91a4499754 code cleanup: UnnecessaryParentheses
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6121 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-17 02:08:27 +00:00
Xavier Le Vourch f1ee8afff6 UnnecessaryParentheses now checks all expressions, not just return statements
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6120 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-17 02:07:50 +00:00
Xavier Le Vourch 7da973119c code cleanup: invalid test for Package.equals(), no need to check subpackages
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6119 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-17 00:08:11 +00:00
Xavier Le Vourch ab9b5fd69f code cleanup: use of PropertyDescriptors in AvoidDuplicateLiterals
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6118 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-16 01:14:54 +00:00
Xavier Le Vourch 5042227319 Documentation of AvoidDuplicateLiterals properties
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6116 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-16 00:38:40 +00:00
Xavier Le Vourch 37f74a56ad ShortClassname renamed ShortClassName to be consistent with other rules naming conventions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6115 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 16:57:15 +00:00
Romain Pelisse 902c68ccff Switching rulename from OneDeclarationByLine to OneDeclarationPerLine.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6114 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 15:40:21 +00:00
Romain Pelisse 4136c9c60b Adding small documentation about unit testing rules.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6113 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 15:13:23 +00:00
Romain Pelisse ae8984bb08 Fixing broken URLs in the 3 new rules that broke the continious build.
Again, i have to say, that this continious build is great !
 

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6112 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 10:58:48 +00:00
Romain Pelisse beda7d8f42 Adding 3 new rules:
DotNoPrefixMethodParameters 
	OneDeclarationByLine
	ShortClassname
	
With appropriate unit testing, and update in changelog and 50.xml.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6111 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 10:09:24 +00:00
Romain Pelisse 6fb4e074d0 Updating pmd-build.jar
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6110 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 09:57:23 +00:00
Romain Pelisse 8586396c51 Small bugfixe.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6109 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-13 09:55:03 +00:00
Xavier Le Vourch 131932596b plugin compilation needs java 1.5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6108 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-07 18:23:33 +00:00
Ryan Gustafson a07aa8bde7 Remove Jaxen 1.1 bug workaround now that we're on Jaxen 1.1.1 which has fixed the bug.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6107 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-07 18:21:39 +00:00
Ryan Gustafson 0894b0e694 New Language 'xml' added, for writing XPathRules against XML documents
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6106 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-07 18:06:43 +00:00
Ryan Gustafson 28d756c899 New Language 'xml' added, for writing XPathRules against XML documents
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6105 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-07 18:04:27 +00:00
Ryan Gustafson a6ee0787ee Change RuleChain to use RuleChainVisitorClass as configured on the Language, instead of hardcoding for Java/Jsp only.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6104 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-07 17:56:58 +00:00
Ryan Gustafson 36416ec0fe Further refactoring of XPath/Jaxen code to account for DocumentNavigators which may be LanguageVersion specific. This is in preparation for adding XML as a Language, but using standard Java parsers and object model, instead of rolling our own custom JavaCC grammar for XML.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6103 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-06 21:47:14 +00:00
Ryan Gustafson c950a79cb7 Further refactoring of XPath/Jaxen code to account for DocumentNavigators which may be LanguageVersion specific. This is in preparation for adding XML as a Language, but using standard Java parsers and object model, instead of rolling our own custom JavaCC grammar for XML.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6102 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-06 21:42:36 +00:00
Xavier Le Vourch 601db8ed64 local.properties moved to same dir as build.xml, i.e. top level
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6101 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-06 02:46:51 +00:00
Xavier Le Vourch fd6b2cd21b clover repository at atlassian can be specified in a profile within pom.xml
clover is now enabled by default as it works out of the box. It can still be
easily disabled by modifying the <activeByDefault> value at the top of the
clover profile.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6100 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-06 02:31:14 +00:00
Xavier Le Vourch 66126af88a Reformatting changes, semantic hasn't changed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6099 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 22:28:39 +00:00
Xavier Le Vourch aced8d60dd generated jar files are ignored
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6098 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 20:13:44 +00:00
Xavier Le Vourch b4e68944e6 cleanup was using incorrect name
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6097 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 19:12:17 +00:00
Xavier Le Vourch 1256d89e55 tests for bug #1955852 (false positives for UnusedPrivateMethod & UnusedLocalField) are not regression tests
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6096 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 16:54:55 +00:00
Romain Pelisse c40fcb2df0 Adding test code to reproduce "bug #1955852: false positives for UnusedPrivateMethod & UnusedLocalField"
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6095 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 11:42:30 +00:00
Romain Pelisse 0de1281202 Excluding a class that surefire is believing to be a test to run...
Only 2 errors left while running $ mvn test, and they have the same cause:

org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:noNamespaceSchemaLocation" associated with an element type "ruleset" is not bound.

almost there :)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6094 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 11:41:32 +00:00
Romain Pelisse 2d9227dbda Adding a missing default constructor so that surefire report won't complain about it.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6093 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 11:40:05 +00:00
Romain Pelisse dfba973c9a removed a useless copy of file. This copy is now done when mvn build site.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6092 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 10:42:25 +00:00
Romain Pelisse 9c73c815c3 Fixing several issues in the build.
Added the missing reports for website.

I also commented out clover plugin (like emma), because (like emma), it doesn't work "out of the box", it requires extra operation apart from the regular. I think we should always have a "working" mvn build, and let people uncomment more "complex/buggy" task, according to their wishes.

Last thing : javadoc-reports fails on the 'test-report' (again commented out) because of compilations failures. This is pretty weird, ... 


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6091 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 02:42:40 +00:00
Romain Pelisse 1c5c456a76 Adding sflogo to images directory. Current url to sf logo :
http://sourceforge.net/sflogo.php?group_id=56262&type=5
contains a & which mvn2 seems to dislike. 
Anyway, it's handy to the logo here.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6090 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 02:32:44 +00:00
Romain Pelisse 82d05f30e3 Workaround in order to have mvn2 generate these as link and not anchors...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6089 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 02:31:27 +00:00
Romain Pelisse a9a20d9b37 Adding an entry in documentation about agregating tools such as xradar, sonar, QAlab, maven dashboard...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6088 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 02:18:50 +00:00
Romain Pelisse 5c283dfb28 Adding missing logo.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6087 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 02:16:31 +00:00
Romain Pelisse 9c6c47f288 Externalising most of the configuration of the pmd-build. Also add some optionnal attributes in the AntTask. Not really useful per see, but can allow you to customize it for customer purpose (that's why i have to do it in the first place).
As far i had to do it, i though, let's share it with everyone.

(Did some code cleaning too)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6086 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-02 00:26:32 +00:00
Xavier Le Vourch ac34ea2885 New coverage tests for PMD. Other tests will be added later on to increase
the test coverage of the entire source tree.

Some of the tests are disabled by default but if you create a pmd_tests.conf
file specifying command line options, the coverage will be improved:

when using the pmd_tests.conf.example configuration file, the clover coverage
test went from 56% to 64%.



git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6085 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-01 05:07:23 +00:00
Xavier Le Vourch 0d0a13be6e dummy test case typeresolution/xml/MyTestCase.java excluded from test suite
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6084 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-01 03:51:06 +00:00
Xavier Le Vourch 5bda2e70aa make sure the typeresolution testdata is included in test reources
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6083 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-01 03:06:02 +00:00
Ryan Gustafson a688d3f7c2 Fixed regression in message parameters for NPathComplexityRule, and other statistical rules.
In refactoring, I missed an overridden method (it didn't have @Overriden on it).  Basically added the necessary method to the StatisticalRule interface, and updated things accordingly.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6082 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-30 19:34:33 +00:00
Ryan Gustafson 4e7c24b2fc Add some more TODO.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6081 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-29 17:19:49 +00:00
Ryan Gustafson c07724a605 Remove unused "quickfix" interface and package.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6080 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-29 16:18:53 +00:00
Xavier Le Vourch a3e0377000 code cleanup: eclipse warnings
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6079 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-29 02:15:58 +00:00
Xavier Le Vourch a5aa9047be regression test: NPathComplexity message is not correct, no parameter substitution
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6078 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-29 00:19:13 +00:00
Xavier Le Vourch 0f2e98bf91 bug fix: typecast exception in LoosePackageCoupling for annotation before package name
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6077 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-28 19:33:16 +00:00
Xavier Le Vourch f72ca9cf8d copy/paste error in MoreThanOneLogger
code cleanup for static fields initialization


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6076 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-28 18:48:43 +00:00
Xavier Le Vourch 6f9b9045f0 merged from 4.2.x branch: Bug fix: NPE in MoreThanOneLogger
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6074 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-28 18:38:09 +00:00
Xavier Le Vourch 0681705690 Fixed parsing bug: constant fields in annotation classes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6072 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-27 23:52:23 +00:00
Xavier Le Vourch ac86f8e3d6 increase max memory for testing
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6070 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-27 23:35:59 +00:00
Xavier Le Vourch 7f2bbc7275 jvm memory options needed for clover analysis
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6069 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-26 21:40:03 +00:00
Xavier Le Vourch 1c874ff348 base 'svn export' location for pmd-src package on previous tag request answer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6068 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-26 02:47:03 +00:00
Xavier Le Vourch b5ca1490b5 oops, shouldn't have been part of previous commit...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6067 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-26 02:43:01 +00:00
Xavier Le Vourch ac68d0c227 clover2 plugin called by 'mvn site', atlassian repository needs to be added to ~/.m2/settings.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6066 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-26 02:41:14 +00:00
Xavier Le Vourch e6f57347cd clover.license removed, clover2.license added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6065 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 23:46:13 +00:00
Xavier Le Vourch 3b29c6732e clover2 license added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6064 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 23:43:19 +00:00
Xavier Le Vourch 82ce1a5c14 link to Java grammar now uses svn repository
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6063 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 23:38:29 +00:00
Xavier Le Vourch c2e2c3bd87 links for IDE plugins source updated to use svn repository
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6062 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 23:27:29 +00:00
Xavier Le Vourch 11fedfb1b3 bluej plugin is not new, welcome message has been on the front page for 2 years...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6061 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 23:20:51 +00:00
Romain Pelisse 85636decac Adding Emma as a test coverage tools.
Adding some operation in the ant task to clean the site generation.

... But work still in progress here :)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6060 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 18:14:12 +00:00
Romain Pelisse 44f438cabc navigation.xml is no longer required, as mvn2 uses the src/site/site.xml. Pom.xml should be modified to move site.xml from src/site to xdocs, but for the moment i didn't find how...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6059 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 18:12:20 +00:00
Romain Pelisse c8d9b34961 As discussed with Tom, this is file is not really needed anymore, so i remove it. I add to the pom.xml the emma plugin in order to have "test cover" reporting.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6058 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 18:09:28 +00:00
Romain Pelisse 19a129c5f1 Java rule class link to javacode (as it is now) rather to javadoc.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6057 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 17:51:21 +00:00
Ryan Gustafson 8594b19e7a Add some more 5.0 TODOs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6056 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-25 17:20:57 +00:00
Xavier Le Vourch 442fe94dfe site navigation: Rule guidelines and PMD developers information links
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6055 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-24 00:22:09 +00:00
Xavier Le Vourch f803b10e7c ant targets renamed as "clean" did not have common ant meaning, making
switching projects more difficult:
	delete -> clean
	clean -> recompile


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6054 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-23 22:28:50 +00:00
Xavier Le Vourch 6edf88fa1c obsolete file: pmd requires jdk 1.5 to be compiled
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6053 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-23 22:20:14 +00:00
Xavier Le Vourch 74f427a626 updates to release scripts to work with new directory structure
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6052 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-23 21:58:19 +00:00
Xavier Le Vourch 99a5199f81 javadoc comment at correct location and with valid UTF8 characters
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6051 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-23 20:58:56 +00:00
Xavier Le Vourch c12f74f848 tool directory renamed tools
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6050 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-23 19:01:19 +00:00
Dale Anson 7df495aaa9 doc update, fixed annoying anonymous messages
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6049 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-22 18:53:58 +00:00
Radim Kubacki 77f36ceac0 update to 4.2.1 and fixed some deprecations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6048 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-22 06:46:01 +00:00
Xavier Le Vourch 74dba06639 make sure all versions strings are updated after directory reorganization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6047 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-21 22:44:54 +00:00
Xavier Le Vourch 2dc528b7e1 version changed to 5.0-SNAPSHOT in PMD.java, 5.0 in other files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6046 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-21 22:40:02 +00:00
Xavier Le Vourch c60f696ec1 make sure all versions strings are updated after directory reorganization
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6045 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-21 22:37:53 +00:00
Romain Pelisse 015c563b22 Updating link to pmd-eclipse repository.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6044 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-18 17:56:53 +00:00
Romain Pelisse aaef5c4f0d Enabling javadoc in mvn site. I removed the test code that was failing (IMO javadocs for test code is prettry much useless).
Note: pmd-plugin fails on my laptop, so i commented it out for me. I'm the only ? Does anyone has issue with this plugin ?

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6043 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-18 15:20:29 +00:00
Romain Pelisse 30c5f85bdd Last port from the maven build:
- added a link to java code for each java rule
- added example to the xdoc version of each rule


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6042 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-18 15:18:08 +00:00
Tom Copeland cff59454dc No need for this
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6041 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-18 12:02:32 +00:00
Tom Copeland 92c9a4253b No need for this
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6040 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-18 12:01:35 +00:00
Romain Pelisse 57c728845b Moving commidity scripts from etc to tool/shell.
I have not tested them from here (i'll do so in the morning).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6039 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:22:56 +00:00
Romain Pelisse e47beeb74d misc. (adding missing licence)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6038 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:19:25 +00:00
Romain Pelisse 68276014da Removing the pmd-jdk14-pom.xml. This artifact is now generated from the regular pom.xml.
Removing project.xml (it has been moved to tool/maven)


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6037 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:17:46 +00:00
Romain Pelisse b060936929 This directory is used when generating rules. As any things in this directory is generated, i added a svn property to have it ignore by svn client (i hope this works fine, i'm no svn expert).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6036 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:16:49 +00:00
Romain Pelisse 091eacc314 Info from etc/pmdProperties has been turned into a xdoc file.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6035 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:14:47 +00:00
Romain Pelisse 2bb85b33be Info from etc/pmdProperties has been turned into a xdoc file.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6034 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:12:59 +00:00
Romain Pelisse 69a70d00b5 Removing maven.xml (moved to tool/maven)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6033 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:10:27 +00:00
Romain Pelisse 39e240006d This ruby script can be removed, the "hack" it was doing has been added into the java logic of pmd-build.jar
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6032 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:09:44 +00:00
Romain Pelisse d1afe88ecb Adapting docs.sh to the use mvn and no longer maven. I tested most of it, but i didn't test any task that actually upload something. Please Xavier, if something does not work, tell me !
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6031 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:08:56 +00:00
Romain Pelisse 3990dfaaaa Adding ant task to the pom.xml. Those task replace the documentation generation that used to do maven 1.
Also move from etc the checkstyle-config.xml (seems cleaner to me to have it in tool directory).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6030 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:06:12 +00:00
Romain Pelisse 3b93617f41 Moving build.xml to root directory. I test it, most of the tasks are working fine. The following are failing, but they were failing exactly the same before, the i think it's only me:
symtabtest
dfatest 
cpdtest 
qa 



git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6029 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 18:00:17 +00:00
Romain Pelisse 6cf9671890 Moving old maven build (now deprecated) into tool/maven. Maybe at some point we could get ride of it.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6028 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 17:55:51 +00:00
Romain Pelisse 4e5ce4904c Adding a first version of pmd-build.jar to the lib directory. This is where the pom.xml will look for it.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6027 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 17:52:25 +00:00
Romain Pelisse 59f9859603 Source codes and test code for the pmd-build (should have been committed with last commit).
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6026 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 17:50:28 +00:00
Romain Pelisse c1fbea57b8 Start of the cleaning of pmd build process.
I added a subdirectory 'tool' with the small pom.xml required to build and package the java code source for a small artifact called 'pmd-build'. This jar contains most of the 'logic' specific to the pmd-build. This code is basicly and java port from the old jelly script (when xslt couldn't do the trick).

The source code is not really clean, i'll propably improve it in next weeks. 

Note: some other commits to do in the next minutes, please be patient, let's no try to see to what point svn is transactionnal ! :)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6025 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-17 17:38:26 +00:00
Xavier Le Vourch 7508855203 Fixed false positive in UnusedImports: javadoc comments are parsed to check @see and other tags
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6024 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 23:38:25 +00:00
Xavier Le Vourch 22ce3a5a18 code cleanup: import clause
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6022 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 22:28:46 +00:00
Xavier Le Vourch 7671b9ef97 version changed to 5.0-SNAPSHOT in Java and 5.0 in other files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6021 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 22:07:22 +00:00
Xavier Le Vourch 1b4321a91a merge from 4.2.x: Fixed false positive in UnusedImports: javadoc comments are parsed to check @see and other tags
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6019 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 21:31:46 +00:00
Romain Pelisse 9d40370a41 Updating documentations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6016 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-12 16:42:23 +00:00
Xavier Le Vourch 37bafb41a3 v3.2.4 release date and update to 4.2.1
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6014 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 23:23:23 +00:00
Xavier Le Vourch 7121ecb055 update version tag for 3.2.4 release to 3.2.4.v200804111600
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6013 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 23:17:39 +00:00
Xavier Le Vourch 77ed14fbd7 pmd.jar updated to 4.2.1 version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6012 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 23:07:25 +00:00
Romain Pelisse f769501588 Fixed bug 1808110 - PreserveStackTrace
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6005 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 17:45:49 +00:00
Romain Pelisse 1fb9f5b5f3 Adding a small documentation page about existing continous integration plugins (such as the Hudson one). yet to be (much more) completed.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6003 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 07:02:31 +00:00
Ryan Gustafson 00f284a9d7 AvoidDuplicateLiteralRule now has 'skipAnnotations' boolean property
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@6002 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-10 22:17:38 +00:00
Ryan Gustafson 9ebc8b4a5c Added file encoding option to CPD GUI and updated documentation.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5999 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-09 08:10:12 +00:00
Xavier Le Vourch fe64ed05b8 merging changes from 4.2.x branch for bin and java14/bin scripts:
retroweaver version was not correct in java14/bin scripts
	support for extra languages in cpd.sh
	standard unix scripts can be used with cygwin


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5998 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-09 01:24:48 +00:00
Xavier Le Vourch d64df5a996 ruleset.dtd and ruleset_xml_schema.xsd added to jar file in rulesets directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5991 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 21:58:45 +00:00
Dale Anson a8d15c98ac Better fix for 1937876. Previously, any problem with loading a custom ruleset would cause the option pane to not show any rulesets. This fix traps any exception when loading custom rulesets and allows the checkbox tree model to be build with the standard PMD rulesets. Any problem with loading the standard PMD rulesets still throws an exception, which is handled by my previous fix.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5989 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 21:57:00 +00:00
Dale Anson 99e26a696e fix for jEdit bug 1937876, PMD plugin crashes when using certain custom rule sets.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5988 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 15:36:49 +00:00
Ryan Gustafson a36abe8301 Move Language specific Jaxen functions in lang.${lang}.jaxen, and provide a means to register all known Jaxen functions via the pmd.jaxen.Functions class.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5987 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 08:22:22 +00:00
Ryan Gustafson 6825d6491f Remove completed item.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5986 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 07:42:21 +00:00
Ryan Gustafson 86ece394d2 TokenManager errors now include a file name whenever possible for every AST in PMD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5985 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 07:27:12 +00:00
Xavier Le Vourch cf39295cda Fixed classpath issue in pmdOnPmd target
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5984 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 01:32:34 +00:00
Xavier Le Vourch 190f220471 Fixed classpath issue in pmd target
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5982 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 01:19:03 +00:00
Torsten Kleiber 0fa69930b6 Release 4.2.2.0.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5979 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 21:39:03 +00:00
Torsten Kleiber bffb6e5e05 Release 4.2.1.0.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5976 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 20:44:41 +00:00
Torsten Kleiber cfd0cad0d3 Release 4.2.1.0.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5975 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 20:44:01 +00:00
Torsten Kleiber 50fca09d29 Release 4.2.1.0.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5974 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 20:42:10 +00:00
Torsten Kleiber de32cd758c Implement Changes from Remco de Blok
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5973 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 11:05:18 +00:00
Ryan Gustafson 7e010ae4c5 Move C++ AST from CPD into lang.cpp.ast. Add lang.ast.AbstractTokenManager with common TokenManager capabilities (ie. generalized stuff from Java and C++ that used to be in the .jjt files). Move TokenMgrError into lang.ast, enhanced to have FileName capability from C++ for general use.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5972 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 10:58:54 +00:00
Ryan Gustafson 3885f53984 Use proper ParseException class.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5971 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 09:22:13 +00:00
Ryan Gustafson f3ec691ce4 Move StatisticalRule into lang.rule.stat package structure.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5970 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 04:47:12 +00:00
Ryan Gustafson 97813e3965 Minor naming cleanup.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5969 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 04:38:42 +00:00
Ryan Gustafson a863cb8d4d Additional changes to use common JavaCC infrastructure across the Languages. JSP stuff no longer extends from the Java stuff. Also, the files TokenMgrError and ParseException are regenerated from scratch now. Only the Token class is not regenerated, due to customizations. We're going to have to keep an eye on JavaCC changes which might affect this class so we can regenerate and apply customizations again, as needed.
Added the Ant build target 'dummyjjtree' to regenerate the common JavaCC components into the lang.ast package.  Also, added a target 'alljjtree' to generate all the JavaCC related code, so that upgrades to JavaCC can applied to all PMD code, and not just a single language at a time.

FYI, JavaCC seems to be putting checksums in files, and these are calculated _with_ the EOL characters, so you can get spurious checksum differences between files when the prior version was generated on a platform with a different EOL (e.g. Windows versus *nix).  Verify the "changed" files are really changed before committing.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5968 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-06 02:28:54 +00:00
Ryan Gustafson 5b0b90d6a5 Add new rule, LoosePackageCoupling to check for usage of code outside of a package hierarchy.
Also, call RuleContext.setSourceCodeFile(File) in some places in PMD class.  Need this for when invoking from the command line, in addition to original intended use by the IDEs.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5967 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-05 08:34:45 +00:00
Ryan Gustafson 4011fca005 Add Node based method for participating in the RuleChain, to avoid typos on node names. This is the preferred technique for Java code Rules. The String based method is used by XPath rules.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5966 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-05 07:45:15 +00:00
Xavier Le Vourch c67accd568 parser files regenerated with javacc jar from ./lib directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5965 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-05 01:07:56 +00:00
Xavier Le Vourch 3a27ac8f8c javacc.jar added to lib directory so that everybody uses the same javacc version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5964 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-05 01:05:15 +00:00
Xavier Le Vourch ea28230374 javacc rules updated to make sure regenerating the files still works.
Some cleanup in the post processing of the javacc output still needs to be done
but at least the current output is correct and all regression tests work.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5963 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-05 00:58:06 +00:00
Xavier Le Vourch 8c9504ed3f 50 ruleset created (empty for now)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5962 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-05 00:20:28 +00:00
Xavier Le Vourch cd4a56b0eb package names in grammars updated after refactoring
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5961 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 23:48:14 +00:00
Ryan Gustafson ab26d8c5eb 2nd attempt, it failed to take this. I think file name case differences aren't working so well on Windows?
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5960 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 22:41:22 +00:00
Ryan Gustafson f1194d81bf Final rename due to tooling issues.
Also corrected a test case which was failing for some reason, speculating the cause as alternate test method execution order, which interacted with the ThreadLocal being used (yuck!).

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5959 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 22:35:01 +00:00
Ryan Gustafson 4e02b9b831 Rule refactoring into proper Language packages.
Also renamed Rules to following standard convention and organization, and enhanced the RuleSetFactoryTest case to assert this convention.  For example, if the non-XPath Rule is XxxYyy/zzz.xml, then the rule class should be:

   lang.${lang}.rule.${zzz}.${XxxYyy}Rule

Ahh... wonderous consistency. :)

We're getting closer, much of the big stuff is now done, but still a fair bit to do, see changelog for details.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5958 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 21:38:59 +00:00
Ryan Gustafson 82d36689d3 Having problems moving packages around, tool is telling me to commit changes first. Committing basic refactoring, this clearly broken, a correction will follow later today.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5957 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 19:27:09 +00:00
Ryan Gustafson 86d6d24dad Add RuleViolationFactory to allow AbstractRule to create Rules based upon the LanguageVersion on the RuleContext. This fixes this issue with XPathRule not working on JSPs. Some minor cleanup in XPathRule to make it completely independent of the Java AST. Also moved more classes in the .rule subpackages, including XPath rule, all Rules and RuleSets updated accordingly.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5956 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 09:59:25 +00:00
Ryan Gustafson ea75c3016b First pass at package refactoring. All AST code refactored into the pmd.lang hierarchy. Sourcetype and Parser code also refactored. The Rule implementations are not yet done. Still a fair bit to do with some of the other Rule support packages, but this is the basic idea.
Also, replaced the tagging CompilationUnit interface with the RootNode interface, and where possible changed existing usages of CompilationUnit to be the new common Node interface, which is actually useful.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5955 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 07:35:35 +00:00
Ryan Gustafson 113e719ad4 Generalize AST treatment. Extracted a common Node interface and base class, combining common features of Node and SimpleNode from all ASTs whenever possible. Reworked Java and Jsp AST classes to use the new interface. All existing usages of SimpleNode changed to Node. Yeah, no more stupid casts for AST navigation/visitation operations! Turned AccessNode from the Java AST into an interface as it should be. Deleted and renamed AST classes as appropriate to following convention in absence of SimpleNode classes.
JSP XPath rules are not yet working.  Need to work on further generalization of RuleViolation code to make it a Language feature, and not something gathered via Rule class hierarchy inheritance.

Will be moving packages around soon!

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5954 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-04 03:51:12 +00:00
Ryan Gustafson d239a4d8cd Initial generalization of DataFlow treatment. Add abstract base class for DataFlowNode, and language specific node implementation. To be consistent with other PMD code, renamed IDataFlowNode to DataFlowNode (last of the Hungarian notation interfaces in PMD).
Still a lot of work left for DFA to generalize it fully, but will wait until the Language specific packaging structure is in place.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5953 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-03 06:48:50 +00:00
Romain Pelisse 9531da9301 Fixed bug 1932242 - EmptyMethodInAbstractClassShouldBeAbstract false +
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5951 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-02 16:08:58 +00:00
Torsten Kleiber edcf128ae3 Release 4.2.1.0.0
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5949 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-01 21:26:49 +00:00
Dale Anson b94f79e961 If the user has checked "Run PMD on save", set the plugin to load on jEdit start up so that the "run on save" feature works right away. Unchecking "Run PMD on save" sets the "activate" property back to "defer", which is the default.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5948 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-01 13:54:43 +00:00
Dale Anson e9c4f2c110 bumped version number to 2.9
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5947 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-01 13:46:43 +00:00
Ryan Gustafson b940abb989 Generalize RuleViolation treatment. Add abstract base class, and language specific rule violation implementations. To be consistent with other PMD code, renamed IRuleViolation to RuleViolation (I never liked this Hungarian notation crap in Java code anyway). Extracted the RuleViolationComparator as a standalone class, and fixed it's implementation (was seriously broken) so the RuleViolation comparison is very well defined. Changed Report to use a List of violations internally, instead of a Set, since the change to the RuleViolationComparator was causing truly duplicate RuleViolations to be dropped.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5946 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-31 00:52:07 +00:00
Ryan Gustafson 8eef49beb2 Clean up AST nodes by removing dump code off the AST nodes. Turn it into a Visitor, available via the LanguageVersionHandler. Change the Designer to use this to get the labels for the AST Tree view.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5945 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-30 04:09:59 +00:00
Dale Anson 27e59dee18 1. fixed a bug in 'check all files in a directory' where the plugin always defaulted to Java 1.4 rather than the Java version selected in the option pane.
2. Revised the option pane to use a checkbox tree rather than a list of checkboxes.  The list was long (just under 200 rules), and didn't have any grouping by ruleset.  The checkbox tree groups the rules by ruleset, and clicking the checkbox on the ruleset checks all rules contained by that ruleset.  This is way easier than looking through the long list to pick out the rules.

3. Revised the option pane so the layout is more compact and fits on the screen better. 

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5944 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-29 17:52:25 +00:00
Ryan Gustafson 0825857504 Fix bug 1928009 - Error using migration ruleset in PMD 4.2
AbstractRuleChainVisitor changed an 'if' to a 'while' to ensure all RuleReferences were followed to find the real underlying Rule.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5943 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-28 23:47:01 +00:00
Ryan Gustafson 19d85d4b73 Addition of Language and LanguageVersion enums. Replaces old SourceType approach.
Missed a file.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5941 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-27 02:12:52 +00:00
Ryan Gustafson 0e4ce7b28e Addition of Language and LanguageVersion enums. Replaces old SourceType approach.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5940 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-27 00:56:46 +00:00
Ryan Gustafson 38025cb0de Oops, move comment so it actual imports without a parser error.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5939 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-27 00:41:54 +00:00
Ryan Gustafson a43bb1ecc2 Eclipse formatter settings, based on Sun Java conventions, with minor changes to line length and no formatting of comments. See comment at top of the file.
The annoying part of this is the treatment of indentation.  Sun appears to like to mix tabs and spaces.  I prefer to go with one or the other, but I don't really care as long as all the code in PMD is the same so I _can_ use my IDEs code formatting capabilities.

Feel free to suggest alternate settings, or even alternate tools.  As long as we can come up with a uniform standard that all devs can apply in their development environments.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5938 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-27 00:39:03 +00:00
Ryan Gustafson 781d06f65d Add license, and FUTURE comment.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5937 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-27 00:21:55 +00:00
Ryan Gustafson 50d17ad17d Minor naming change, comment change.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5936 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-27 00:21:06 +00:00
Xavier Le Vourch f0992c9639 '41' and '42' shortcuts for rulesets added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5935 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 21:32:39 +00:00
Ryan Gustafson 977bd002e8 Reformat to make subsequent diffs easier to follow.
I'm using built-in Eclipse 3.3 Java conventions, with lines widened to 120 characters.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5934 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 21:32:30 +00:00
Ryan Gustafson 1d7ec335c4 Add base classes for Parser implementations to eliminate duplicate code. Also add a TokenManager wrapper interface and implementations for each Parser.
Missed a file.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5932 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 21:22:56 +00:00
Ryan Gustafson c9fa73fc7b Add base classes for Parser implementations to eliminate duplicate code. Also add a TokenManager wrapper interface and implementations for each Parser.
Ultimately this stuff needs to be moved into Language specific packages.  I expect further effort will need to be done to generalize anything and everything related to Tokenizers, Parsers, ASTs, etc.  We should explore if there's a way to get JavaCC to use actual interfaces for things.  It seems to be generating duplicate one-off implementations, but does not implement a standard set of interfaces.  Once we have 3+ JavaCC implementations in PMD, we really need a way to make them appear identical to all the PMD internals.  Settling on JavaCC as THE standard for PMD seems like the easiest choice for now, we can mix things up in the future once we get it working for the simplest case.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5931 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 21:16:30 +00:00
Xavier Le Vourch 4b245d72e3 updating pmd lib to 4.2 final
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5930 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 03:40:58 +00:00
Xavier Le Vourch 00e62d4e08 4.2 links updated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@5928 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 01:09:02 +00:00
3090 changed files with 190091 additions and 123419 deletions

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
[![PMD - Don't shoot the messenger][PMDLogo]][website]
PMD
===
About
-----
PMD is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks,
unnecessary object creation, and so forth. It supports Java, JavaScript, XML, XSL.
Additionally it includes CPD, the copy-paste-detector. CPD finds duplicated code in
Java, C, C++, C#, PHP, Ruby, Fortran, JavaScript.
Source
------
Our latest source of PMD can be found on [GitHub]. Fork us!
The current status of this repo can be seen at [BuildHive].
News and Website
----------------
More information can be found on our [Website] and on [SourceForge].
[PMDLogo]: http://pmd.sourceforge.net/pmd_logo.png
[GitHub]: https://github.com/pmd/pmd
[BuildHive]: https://buildhive.cloudbees.com/job/pmd/
[Website]: http://pmd.sourceforge.net
[SourceForge]: https://sourceforge.net/projects/pmd/
@@ -0,0 +1,36 @@
<project name="generate-jdk4-pom"
default="generate-xdocs">
<target name="generate-xdocs">
<path id="tools.classpath">
<fileset dir="${lib}">
<include name="pmd-build-*.jar"/>
</fileset>
</path>
<taskdef name="pmd-build"
classname="net.sourceforge.pmd.ant.PmdBuildTask">
<classpath refid="tools.classpath"/>
</taskdef>
<echo>Generating documentation into ${target}, into ${rules.src}</echo>
<mkdir dir="${target}"/>
<pmd-build siteXml="${siteXml}"
rulesDirectory="${rules.src}"
target="${target}"/>
</target>
<!--
Unit test of this task
Should be run from tools/ant directory
-->
<target name="test">
<antcall target="generate-xdocs">
<param name="target" value="target-test"/>
<param name="lib" value="../lib"/>
<param name="rules.src" value="../../src/site/xdocs"/>
</antcall>
</target>
</project>
@@ -0,0 +1,17 @@
<project name="pmd" default="ruleset-docs" basedir="../">
<!--
Properties required to call this script:
target.docs, directory where to store the rules directory
-->
<property name="rule-format" value="build/xslt/rule-format.xsl"/>
<property name="rules-index" value="build/xslt/rules-index.xsl"/>
<target name="ruleset-docs">
<mkdir dir="${target.docs}/rules" />
</target>
</project>
@@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
These are default Java conventions from Eclipse 3.3.2 with the following changes:
1) Line lengths to 120
2) Disable all Comment formatting options
3) Enum constants always wrap to new line
-->
<profiles version="11">
<profile kind="CodeFormatterProfile" name="PMD" version="11">
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_line_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="8"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="4"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_javadoc_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.format_block_comments" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.wrap_before_binary_operator" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_import_groups" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.assertIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.source" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.compiler.compliance" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
<setting id="org.eclipse.jdt.core.compiler.problem.enumIdentifier" value="error"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.compiler.codegen.targetPlatform" value="1.5"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="48"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="mixed"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column" value="false"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
</profile>
</profiles>
@@ -0,0 +1,73 @@
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<activeProfiles>
<activeProfile>gpg-settings</activeProfile>
</activeProfiles>
<profiles>
<profile>
<id>gpg-settings</id>
<properties>
<!-- this key will be used by the maven gpg plugin during release -->
<gpg.keyname>your-gpg-key</gpg.keyname>
<gpg.passphrase>your-passphrase</gpg.passphrase>
</properties>
</profile>
</profiles>
<servers>
<!-- to upload to sonatype maven central.
See https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide -->
<server>
<id>sonatype-nexus-snapshots</id>
<username>your-sonatype-jira-login</username>
<password>your-sonatype-jira-password</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>your-sonatype-jira-login</username>
<password>your-sonatype-jira-password</password>
</server>
<server>
<id>pmd-repo</id>
<username>your-sf-login</username>
<password>your-sf-pwd</password>
<!-- or use instead of the password your private key with optional passphrase
<privateKey>${user.home}/.ssh/id_dsa</privateKey>
<passphrase>some_passphrase</passphrase>
-->
</server>
<server>
<id>pmd-site</id>
<username>your-sf-login</username>
<password>your-sf-pwd</password>
<!-- or use instead of the password your private key with optional passphrase
<privateKey>${user.home}/.ssh/id_dsa</privateKey>
<passphrase>some_passphrase</passphrase>
-->
</server>
<server>
<id>pmd-snapshot-repo</id>
<username>your-sf-login</username>
<password>your-sf-pwd</password>
<!-- or use instead of the password your private key with optional passphrase
<privateKey>${user.home}/.ssh/id_dsa</privateKey>
<passphrase>some_passphrase</passphrase>
-->
</server>
<server>
<id>pmd-snapshot-site</id>
<username>your-sf-login</username>
<password>your-sf-pwd</password>
<!-- or use instead of the password your private key with optional passphrase
<privateKey>${user.home}/.ssh/id_dsa</privateKey>
<passphrase>some_passphrase</passphrase>
-->
</server>
</servers>
</settings>
+174
View File
@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
<relativePath/>
</parent>
<groupId>net.sourceforge.pmd</groupId>
<artifactId>pmd-build</artifactId>
<name>PMD Build Plugin</name>
<version>0.9-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<description>
<![CDATA[
This small subproject regroup most of the stuff needed to build pmd.
As some java code has been produced to reduce the use of scripts when
generating the website, the build also requires a small jar, which is
generated by this pom.
IMPORTANT NOTE: the pmd-build.jar does not need to be recompile if you
modify any ant or xslt files. You can alter the files that are in the
xslt directory and directly uses the appropriate ant or java task.
pmd-build should be recompiled and package (and its version incrememented)
only if you modify the java code.
]]>
</description>
<url>http://pmd.sourceforge.net/</url>
<inceptionYear>2008</inceptionYear>
<licenses>
<license>
<name>BSD-style</name>
<url>http://pmd.sourceforge.net/license.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:git://github.com/pmd/pmd.git</connection>
<developerConnection>scm:git:ssh://git@github.com/pmd/pmd.git</developerConnection>
<url>https://github.com/pmd/pmd</url>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<id>rpelisse</id>
<name>Romain Pelisse</name>
<email>rpelisse@users.sourceforge.net</email>
<roles>
<role>Developer</role>
</roles>
</developer>
<developer>
<id>adangel</id>
<name>Andreas Dangel</name>
<email>adangel@users.sourceforge.net</email>
<roles>
<role>Developer</role>
</roles>
</developer>
</developers>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<tagNameFormat>@{project.artifactId}/@{project.version}</tagNameFormat>
<pushChanges>false</pushChanges>
<localCheckout>true</localCheckout>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<mavenVersion>3.0.3</mavenVersion>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>${mavenVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>
<version>${mavenVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-compat</artifactId>
<version>${mavenVersion}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-testing</groupId>
<artifactId>maven-plugin-testing-harness</artifactId>
<version>2.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.6</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>1.6</targetJdk>
<rulesets>
<ruleset>http://pmd.svn.sourceforge.net/svnroot/pmd/trunk/pmd/rulesets/internal/dogfood.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.8</version>
<configuration>
<configLocation>etc/checkstyle-config.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
+47
View File
@@ -0,0 +1,47 @@
Release Howto for pmd-build:
============================
Prerequisites:
--------------
* You need to have a Jira account at Sonatype: https://issues.sonatype.org/
* You need to have upload permissions to the staging repository for PMD at sonatype: https://issues.sonatype.org/browse/OSSRH-2295
* For more infos: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide
* You need a GPG key for signing the artifacts. Use "gpg --list-keys" to see your available keys. Note: Your key must be
available through various keyservers.
* You need to have your settings.xml filled:
-> configure the property gpg.keyname and any other property for the maven-gpg-plugin (e.g. via a profile)
-> configure the server section (you need to configure your sonatype jira account for server id "sonatype-nexus-staging").
* You'll need at least maven 3.0.4, see http://jira.codehaus.org/browse/MRELEASE-756
Step by step:
-------------
1. Checkout master branch:
git clone https://github.com/pmd/pmd.git
cd pmd/maven-plugin-pmd-build
2. Prepare the release (creates a new release tag).
This will be done for you: http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html
Maven will ask you about the release version, the tag name and the new version. You can simply hit enter,
to use the default values.
mvn release:clean
mvn release:prepare
3. Perform the release (builds from the tag and deploys the artifact).
mvn release:perform
4. Release it via Sonatype Nexus
* Login to https://oss.sonatype.org/
* Go to Staging Repositories page
* Select a staging repository
* Click the close button
* Now you can download the artifacts again and verify they are working.
* Once you are sure they are working, click "Release" and the artifacts are eventually available through maven central.
5. Push your local changes if everything is fine
git push origin master
git push origin tag pmd-build/<version>
@@ -0,0 +1,180 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.ant;
import java.net.URL;
import net.sourceforge.pmd.build.PmdBuildException;
import net.sourceforge.pmd.build.PmdBuildTools;
import net.sourceforge.pmd.build.RuleSetToDocs;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
/**
* @author Romain PELISSE, belaran@gmail.com
*
*/
public class PmdBuildTask extends Task {
private String rulesDirectory;
private String target;
private String siteXml;
private String siteXmlTarget;
private URL[] runtimeClasspath;
public URL[] getRuntimeClasspath() {
return runtimeClasspath;
}
public void setRuntimeClasspath(URL[] runtimeClasspath) {
this.runtimeClasspath = runtimeClasspath;
}
public String getSiteXml() {
return siteXml;
}
public void setSiteXml(String siteXml) {
this.siteXml = siteXml;
}
public String getSiteXmlTarget() {
return siteXmlTarget;
}
public void setSiteXmlTarget(String siteXmlTarget) {
this.siteXmlTarget = siteXmlTarget;
}
private String rulesetToDocs;
private String mergeRuleset;
private String rulesIndex;
private String indexFilename;
private String mergedRulesetFilename;
/**
* @return the rulesDirectory
*/
public String getRulesDirectory() {
return rulesDirectory;
}
/**
* @param rulesDirectory the rulesDirectory to set
*/
public void setRulesDirectory(String rulesDirectory) {
this.rulesDirectory = rulesDirectory;
}
/**
* @return the targetDirectory
*/
public String getTarget() {
return target;
}
/**
* @param targetDirectory the targetDirectory to set
*/
public void setTarget(String targetDirectory) {
this.target = targetDirectory;
}
public void execute() throws BuildException {
PmdBuildTools tool = validate(new RuleSetToDocs());
tool.setTargetDirectory(this.target);
tool.setSiteXml(siteXml);
tool.setSiteXmlTarget(this.siteXmlTarget);
tool.setRulesDirectory(this.rulesDirectory);
tool.setRuntimeClasspath(runtimeClasspath);
try {
tool.convertRulesets();
tool.preSiteGeneration();
}
catch ( PmdBuildException e) {
throw new BuildException(e);
}
}
private PmdBuildTools validate(RuleSetToDocs tool) throws BuildException {
// Mandatory attributes
if ( this.target == null || "".equals(target) )
throw new BuildException("Attribute targetDirectory is not optional");
if ( this.rulesDirectory == null || "".equals(this.rulesDirectory) )
throw new BuildException("Attribute rulesDirectory is not optional");
if ( this.siteXml == null ||"".equals(siteXml))
throw new BuildException("Attribute siteXml is not optional");
if ( this.runtimeClasspath == null || "".equals(runtimeClasspath)) {
throw new BuildException("Attribute pmdClasspath is not optional");
}
// Optional Attributes
if ( this.mergedRulesetFilename != null && ! "".equals(this.mergedRulesetFilename) )
tool.setMergedRuleSetFilename(this.mergedRulesetFilename);
if ( this.rulesIndex != null && ! "".equals(this.rulesIndex) )
tool.getXmlFileTemplater().setGenerateIndexXsl(this.rulesIndex);
if ( this.rulesetToDocs != null && ! "".equals(this.rulesetToDocs) )
tool.getXmlFileTemplater().setRulesetToDocsXsl(this.rulesetToDocs);
if ( this.mergeRuleset != null && ! "".equals(this.mergeRuleset) )
tool.getXmlFileTemplater().setMergeRulesetXsl(this.mergeRuleset);
return tool;
}
/**
* @return the rulesetToDocs
*/
public String getRulesetToDocs() {
return rulesetToDocs;
}
/**
* @param rulesetToDocs the rulesetToDocs to set
*/
public void setRulesetToDocs(String rulesetToDocs) {
this.rulesetToDocs = rulesetToDocs;
}
/**
* @return the mergeRuleset
*/
public String getMergeRuleset() {
return mergeRuleset;
}
/**
* @param mergeRuleset the mergeRuleset to set
*/
public void setMergeRuleset(String mergeRuleset) {
this.mergeRuleset = mergeRuleset;
}
/**
* @return the rulesIndex
*/
public String getRulesIndex() {
return rulesIndex;
}
/**
* @param rulesIndex the rulesIndex to set
*/
public void setRulesIndex(String rulesIndex) {
this.rulesIndex = rulesIndex;
}
/**
* @return the indexFilename
*/
public String getIndexFilename() {
return indexFilename;
}
/**
* @param indexFilename the indexFilename to set
*/
public void setIndexFilename(String indexFilename) {
this.indexFilename = indexFilename;
}
/**
* @return the mergedRulesetFilename
*/
public String getMergedRulesetFilename() {
return mergedRulesetFilename;
}
/**
* @param mergedRulesetFilename the mergedRulesetFilename to set
*/
public void setMergedRulesetFilename(String mergedRulesetFilename) {
this.mergedRulesetFilename = mergedRulesetFilename;
}
}
@@ -0,0 +1,25 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build;
/**
* @author Romain PELISSE, belaran@gmail.com
*
*/
public class PmdBuildException extends Exception {
/**
* Default serial ID
*/
private static final long serialVersionUID = 1L;
public PmdBuildException(String message){
super(message);
}
public PmdBuildException(Throwable e) {
super(e);
}
}
@@ -0,0 +1,55 @@
package net.sourceforge.pmd.build;
import java.net.URL;
public interface PmdBuildTools {
/**
* @return the rulesDirectory
*/
public abstract String getRulesDirectory();
/**
* @param rulesDirectory the rulesDirectory to set
*/
public abstract void setRulesDirectory(String rulesDirectory);
/**
*
* @throws PmdBuildException
*/
public abstract void convertRulesets() throws PmdBuildException;
public abstract void preSiteGeneration() throws PmdBuildException;
/**
* @return the targetDirectory
*/
public abstract String getTargetDirectory();
/**
* @param targetDirectory the targetDirectory to set
*/
public abstract void setTargetDirectory(String targetDirectory);
/**
*
* @param siteXml
*/
public abstract void setSiteXml(String siteXml);
/**
*
* @param siteXmlTaget
*/
public abstract void setSiteXmlTarget(String siteXmlTarget);
/**
* Configures the classpath to use to analyze the properties of rules.
* @param runtimeClasspath
* @see RuntimeRulePropertiesAnalyzer
*/
public void setRuntimeClasspath(URL[] runtimeClasspath);
}
@@ -0,0 +1,218 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build;
import static net.sourceforge.pmd.build.util.ConfigUtil.getString;
import static net.sourceforge.pmd.build.util.XmlUtil.createXmlBackbone;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
import java.util.logging.Logger;
import javax.xml.transform.dom.DOMSource;
import net.sourceforge.pmd.build.filefilter.DirectoryFileFilter;
import net.sourceforge.pmd.build.filefilter.RulesetFilenameFilter;
import net.sourceforge.pmd.build.util.FileUtil;
import net.sourceforge.pmd.build.util.XmlUtil;
import net.sourceforge.pmd.build.xml.RulesetFileTemplater;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
/**
* A small class to convert files from pmd rulesets fmt to xdoc fmt
*
* @author Romain PELISSE, belaran@gmail.com
*
*/
public class RuleSetToDocs implements PmdBuildTools {
private static Logger logger = Logger.getLogger(PmdBuildException.class.toString());
private String indexRuleSetFilename = getString("pmd.build.config.index.filename");
private String mergedRuleSetFilename = getString("pmd.build.config.mergedRuleset.filename");
private String rulesDirectory;
private String targetDirectory;
private String siteXml;
private String siteXmlTarget;
private URL[] runtimeClasspath;
private RuntimeRulePropertiesAnalyzer ruleAnalyzer;
public URL[] getRuntimeClasspath() {
return runtimeClasspath;
}
public void setRuntimeClasspath(URL[] runtimeClasspath) {
this.runtimeClasspath = runtimeClasspath;
}
public String getSiteXmlTarget() {
return siteXmlTarget;
}
public void setSiteXmlTarget(String siteXmlTarget) {
this.siteXmlTarget = siteXmlTarget;
}
private RulesetFileTemplater xmlFileTemplater;
public String getRulesDirectory() {
return rulesDirectory;
}
public void setRulesDirectory(String rulesDirectory) {
this.rulesDirectory = rulesDirectory;
}
public String getIndexRuleSetFilename() {
return indexRuleSetFilename;
}
public void setIndexRuleSetFilename(String indexRuleSetFilename) {
this.indexRuleSetFilename = indexRuleSetFilename;
}
public String getMergedRuleSetFilename() {
return mergedRuleSetFilename;
}
public void setMergedRuleSetFilename(String mergedRuleSetFilename) {
this.mergedRuleSetFilename = mergedRuleSetFilename;
}
public String getTargetDirectory() {
return targetDirectory;
}
public void setTargetDirectory(String targetDirectory) {
this.targetDirectory = targetDirectory;
}
public RulesetFileTemplater getXmlFileTemplater() {
return xmlFileTemplater;
}
public void setXmlFileTemplater(RulesetFileTemplater xmlFileTemplater) {
this.xmlFileTemplater = xmlFileTemplater;
}
public String getSiteXml() {
return siteXml;
}
public void setSiteXml(String siteXml) {
this.siteXml = siteXml;
}
/*
* <ol>
* <li>Initialize the xml factory,</li>
* <li>Check if target exist (or try to create it).</li>
* </ol>
*/
private void init() throws PmdBuildException {
FileUtil.createDirIfMissing(targetDirectory);
xmlFileTemplater = new RulesetFileTemplater(rulesDirectory);
ruleAnalyzer = new RuntimeRulePropertiesAnalyzer(runtimeClasspath);
logger.fine("Merge xsl:" + xmlFileTemplater.getMergeRulesetXsl());
}
public void convertRulesets() throws PmdBuildException {
init();
File rulesDir = new File(rulesDirectory);
if ( rulesDir.exists() && rulesDir.isDirectory() )
recursivelyProcessSubFolder(processAllXDocsFilesFromDir(rulesDir));
else if ( ! rulesDir.exists() )
throw new PmdBuildException("The rulesets directory specified '" + rulesDirectory + "' does not exist");
else if ( ! rulesDir.isDirectory() )
throw new PmdBuildException("The rulesets directory '" + rulesDirectory + "' provided is not a directory !");
}
private void recursivelyProcessSubFolder(File rulesDir) throws PmdBuildException {
for ( File folder : FileUtil.filterFilesFrom(rulesDir, new DirectoryFileFilter()) )
recursivelyProcessSubFolder(processAllXDocsFilesFromDir(folder));
}
private File processAllXDocsFilesFromDir(File rulesDir) throws PmdBuildException {
for ( File ruleset : FileUtil.filterFilesFrom(rulesDir, new RulesetFilenameFilter() ) )
processXDocFile(ruleset);
return rulesDir;
}
private File buildTransformedRulesetDirectory(File ruleset) {
return new File(this.targetDirectory +
File.separator +
ruleset.getParentFile().getName() +
File.separator +
ruleset.getName());
}
private void processXDocFile(File ruleset) throws PmdBuildException {
final File targetFile = buildTransformedRulesetDirectory(ruleset);
logger.fine("Processing file " + ruleset + " into " + targetFile.getAbsolutePath());
FileUtil.ensureTargetDirectoryExist(targetFile);
convertRuleSetFile(ruleset, targetFile);
}
private void convertRuleSetFile(File ruleset,File target) throws PmdBuildException {
try {
DOMSource dom = XmlUtil.createDomSourceFrom(new FileInputStream(ruleset));
Document document = (Document)dom.getNode();
NodeList rules = document.getElementsByTagName("rule");
for (int i = 0; i < rules.getLength(); i++) {
Node rule = rules.item(i);
ruleAnalyzer.analyze(document, rule);
}
xmlFileTemplater.transform(dom,target,xmlFileTemplater.getRulesetToDocsXsl());
} catch (FileNotFoundException e) {
throw new IllegalArgumentException(e);
}
}
private void addRulesetsToSiteXml(DOMSource backbone) {
File menu = FileUtil.createTempFile("menu.xml");
logger.fine("menu file:" + menu.getAbsolutePath());
xmlFileTemplater.transform(backbone,menu,xmlFileTemplater.getCreateRulesetMenuXsl());
File site = FileUtil.createTempFile("site.xml");
Map<String,String> parameters = new HashMap<String, String>(1);
parameters.put("menufile",menu.getAbsoluteFile().toString());
File sitePre = new File(siteXml);
xmlFileTemplater.transform(sitePre,site,xmlFileTemplater.getAddToSiteDescriptorXsl(),parameters);
logger.fine("new site describ:" + site.getAbsolutePath());
FileUtil.move(site, new File(getSiteXmlTarget()));
logger.fine("deleting file:" + site.getAbsolutePath());
FileUtil.deleteFile(site);
logger.fine("deleting file:" + site.getAbsolutePath());
FileUtil.deleteFile(menu);
}
private DOMSource createMergedFile(File mergedFile) {
DOMSource backbone = createXmlBackbone(xmlFileTemplater);
logger.fine(XmlUtil.transformDOMToString(backbone));
xmlFileTemplater.transform(backbone, mergedFile, xmlFileTemplater.getMergeRulesetXsl());
// Fix, removing the xmlns field of each ruleset in the generated xml file.
FileUtil.replaceAllInFile(mergedFile, "xmlns=\"http://pmd.sourceforge.net/ruleset/2.0.0\"", "");
logger.fine("Creating index file:" + this.indexRuleSetFilename + ", using merged file:" + mergedFile.toString());
return backbone;
}
public void preSiteGeneration() {
logger.fine("Merging all rules into " + this.mergedRuleSetFilename);
File mergedFile = new File(this.targetDirectory + File.separator + FileUtil.pathToParent + File.separator + mergedRuleSetFilename);
DOMSource backbone = createMergedFile(mergedFile);
logger.fine("Creating index file:" + this.indexRuleSetFilename + ", using merged file:" + mergedFile.toString());
// Create index from ruleset merge
xmlFileTemplater.transform(mergedFile,new File(this.targetDirectory + File.separator + indexRuleSetFilename) ,xmlFileTemplater.getGenerateIndexXsl());
// Create menu file from merge
addRulesetsToSiteXml(backbone);
}
}
@@ -0,0 +1,113 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class RuntimeRulePropertiesAnalyzer {
private static final String XPATH_RULE_CLASSNAME = "net.sourceforge.pmd.lang.rule.XPathRule";
private ClassLoader cl;
private Class<?> propertySource;
private Class<?> propertyDesc;
private Method nameMethod;
private Method descMethod;
private Method defaultValueMethod;
private Field propertiesField;
private Field propertiesValues;
public RuntimeRulePropertiesAnalyzer(URL[] runtimeClasspath) {
init(runtimeClasspath);
}
private void init(URL[] runtimeClasspath) {
try {
cl = new URLClassLoader(runtimeClasspath);
propertySource = cl.loadClass("net.sourceforge.pmd.AbstractPropertySource");
propertyDesc = cl.loadClass("net.sourceforge.pmd.PropertyDescriptor");
nameMethod = propertyDesc.getDeclaredMethod("name");
descMethod = propertyDesc.getDeclaredMethod("description");
defaultValueMethod = propertyDesc.getDeclaredMethod("defaultValue");
propertiesField = propertySource.getDeclaredField("propertyDescriptors");
propertiesValues = propertySource.getDeclaredField("propertyValuesByDescriptor");
propertiesField.setAccessible(true);
propertiesValues.setAccessible(true);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
/**
* Analyzes the class of the given rule definition to find the properties
* this rule supports.
* The properties are directly added to the rule node.
* @param document the document, used to create new property nodes
* @param rule the rule to analyze
*/
public void analyze(Document document, Node rule) {
Node classAttribute = rule.getAttributes().getNamedItem("class");
if (classAttribute == null) {
// some rule definitions, like <rule ref="..."/> have no class attribute
return;
}
String classAtt = classAttribute.getTextContent();
if (XPATH_RULE_CLASSNAME.equals(classAtt)) {
// xpath rules are ignored - they have there properties defined already in the rule definition xml
return;
}
try {
Class<?> clazz = cl.loadClass(classAtt);
Object ruleInstance = clazz.newInstance();
@SuppressWarnings("rawtypes")
List properties = (List)propertiesField.get(ruleInstance);
@SuppressWarnings("rawtypes")
Map values = (Map)propertiesValues.get(ruleInstance);
Element propsElem = null;
NodeList ruleChilds = rule.getChildNodes();
for (int j = 0; j < ruleChilds.getLength(); j++) {
Node item = ruleChilds.item(j);
if (item.getNodeType() == Node.ELEMENT_NODE && "properties".equals(item.getNodeName())) {
propsElem = (Element)item;
break;
}
}
if (propsElem == null) {
propsElem = document.createElement("properties");
rule.appendChild(propsElem);
}
for (Object o : properties) {
Object value = values.get(o);
if (value == null) {
value = defaultValueMethod.invoke(o);
}
Element propElem = document.createElement("property");
propElem.setAttribute("name", (String)nameMethod.invoke(o));
propElem.setAttribute("description", (String)descMethod.invoke(o));
if (value != null) {
String valueString = String.valueOf(value);
if (value.getClass().isArray()) {
valueString = Arrays.toString((Object[])value);
}
propElem.setAttribute("value", valueString);
}
propsElem.appendChild(propElem);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
@@ -0,0 +1,21 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build.filefilter;
import java.io.File;
import java.io.FilenameFilter;
/**
*
* @author Romain PELISSE, belaran@gmail.com
*
*/
public class DirectoryFileFilter implements FilenameFilter {
public boolean accept(File dir, String name) {
return ( dir.exists() && dir.isDirectory() ) ? true : false;
}
}
@@ -0,0 +1,37 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build.filefilter;
import java.io.File;
import java.io.FilenameFilter;
import java.util.regex.Pattern;
/**
*
* @author Romain PELISSE, belaran@gmail.com
*
*/
public class RulesetFilenameFilter implements FilenameFilter {
// FUTURE: Make this somehow configurable ? Turn into an array passed by constructor ?
private static final Pattern EXCLUDE = Pattern.compile(
"(^[0-9][0-9].*\\.xml)" +
"|(^.*dogfood.*\\.xml)" +
"|(^all-.*\\.xml)" +
"|(^migrating_.*\\.xml)" +
"|(^pmdspecific.xml)"
);
public boolean accept(File file, String name) {
if ( doesNotMatchExcludeNames(name) )
return (name.endsWith(".xml"));
else
return false;
}
private boolean doesNotMatchExcludeNames(String name) {
return !EXCLUDE.matcher(name).matches();
}
}
@@ -0,0 +1,22 @@
package net.sourceforge.pmd.build.util;
import java.util.MissingResourceException;
import java.util.ResourceBundle;
public final class ConfigUtil {
private static final String BUNDLE_NAME = "config";
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle
.getBundle(BUNDLE_NAME);
private ConfigUtil() {}
public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
}
@@ -0,0 +1,164 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import net.sourceforge.pmd.build.PmdBuildException;
/**
* @author Romain Pelisse <belaran@gmail.com>
*
*/
public final class FileUtil {
public static String pathToParent = "..";
private FileUtil() {}
public static List<File> listFilesFrom(File dir) {
return filterFilesFrom(dir, null);
}
public static List<File> filterFilesFrom(File dir, FilenameFilter filter) {
List<File> filteredFiles = new LinkedList<File>();
if ( dir != null ) {
File[] files = dir.listFiles(filter);
if ( files != null && files.length > 0 )
filteredFiles.addAll(Arrays.asList(files));
}
Collections.sort(filteredFiles);
return filteredFiles;
}
public static File existAndIsADirectory(String dirname) {
File rulesDir = new File(dirname);
return ( rulesDir.exists() && rulesDir.isDirectory() ) ? rulesDir : null ;
}
public static void copy(File src, File dst) throws IOException {
InputStream in = new FileInputStream(src);
OutputStream out = new FileOutputStream(dst);
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0)
out.write(buf, 0, len);
in.close();
out.close();
}
public static void ensureTargetDirectoryExist(File filename) throws PmdBuildException {
File parentDir = filename.getParentFile();
if ( parentDir == null )
throw new PmdBuildException("No parent directory for " + filename.getAbsolutePath());
if ( ! parentDir.exists() )
parentDir.mkdirs();
}
public static File createDirIfMissing(String dirname) {
File dir = new File(dirname);
if ( (! dir.exists() && ! dir.mkdirs()) ) {// no directory, creating it
throw new IllegalStateException("Target directory '" + dir.getAbsolutePath() + "' does not exist and can't be created");
}
else if ( dir.exists() && dir.isFile() ) {
throw new IllegalStateException("Target directory '" + dir.getAbsolutePath() + "' already exist and is a file.");
}
return dir;
}
public static void deleteFile(File file) {
if ( ! file.isDirectory() ) {
file.delete();
}
else {
File[] files = file.listFiles();
for (int nbFile = 0; nbFile < files.length; nbFile++ )
FileUtil.deleteFile(files[nbFile]);
file.delete();
}
}
public static void replaceAllInFile(File file, String pattern, String replacement) {
// TODO: proper mkfile
File tmp = new File(file + ".tmp");
try {
String line;
FileWriter fw = new FileWriter(tmp);
FileReader fr = new FileReader(file);
BufferedWriter bw = new BufferedWriter(fw);
BufferedReader br = new BufferedReader(fr);
while (br.ready()) {
line = br.readLine();
line = line.replaceAll(pattern, replacement);
bw.write(line);
}
fr.close();
bw.flush();
fw.close();
// Copy , and suppress tmp file
FileUtil.copy(tmp, file);
tmp.delete();
}
// Catches any error conditions
catch (IOException e) {
e.printStackTrace();
}
}
public static File createTempFile(String filename) {
try {
return File.createTempFile(filename + "-", ".tmp");
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
public static File move(File source, File target) {
// Ensuring target file is deleted - if any
if ( target.exists() ) {
if( ! target.canWrite() )
throw new IllegalArgumentException("Can't write on existing file " + target.getAbsolutePath());
} else {
if ( target.delete() )
throw new IllegalStateException("Can't delete file" + target.getAbsolutePath());
}
// copy file
try {
target.createNewFile();
copy(source,target);
} catch (IOException e) {
throw new IllegalArgumentException("Can't copy " + source.getAbsolutePath() + " over " + target.getAbsolutePath());
}
return target;
}
public static InputStream createInputStream(String filepath) {
if ( filepath == null || "".equals(filepath))
return null;
File file = new File(filepath);
if ( ! file.exists() )
return null;
try {
return new FileInputStream(file);
} catch (FileNotFoundException e) {
throw new IllegalArgumentException(e);
}
}
}
@@ -0,0 +1,101 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import net.sourceforge.pmd.build.PmdBuildException;
import net.sourceforge.pmd.build.xml.XmlFileTemplater;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
/**
*
* @author Romain PELISSE, belaran@gmail.com
*
*/
public final class XmlUtil {
private XmlUtil() {
};
private static InputStream loadXsl(String xsl) {
InputStream xslAsStream = FileUtil.createInputStream(xsl);
if (xslAsStream == null) {
xslAsStream = XmlUtil.class.getResourceAsStream("/" + xsl);
}
return xslAsStream;
}
public static Transformer createTransformer(String xsl)
throws PmdBuildException {
try {
TransformerFactory factory = TransformerFactory.newInstance();
StreamSource src = new StreamSource(loadXsl(xsl));
return factory.newTransformer(src);
} catch (TransformerConfigurationException e) {
throw new PmdBuildException(e);
}
}
public static DOMSource createDomSourceFrom(InputStream inputStream) {
try {
return new DOMSource(DocumentBuilderFactory.newInstance()
.newDocumentBuilder().parse(inputStream));
} catch (SAXException e) {
throw new IllegalStateException(e);
} catch (IOException e) {
throw new IllegalStateException(e);
} catch (ParserConfigurationException e) {
throw new IllegalStateException(e);
}
}
public static DOMSource createXmlBackbone(XmlFileTemplater templater) {
Document doc = null;
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder parser = factory.newDocumentBuilder();
doc = parser.newDocument();
} catch (ParserConfigurationException e) {
throw new IllegalStateException(e);
}
Element root = doc.createElement("root");
doc = templater.doTemplate(doc, root);
doc.appendChild(root);
return new DOMSource(doc);
}
public static String transformDOMToString(DOMSource source) {
try {
// Use a Transformer for output
TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
ByteArrayOutputStream sos = new ByteArrayOutputStream();
StreamResult result = new StreamResult(sos);
transformer.transform(source, result);
return sos.toString();
} catch (TransformerException e) {
throw new IllegalArgumentException(e);
}
}
}
@@ -0,0 +1,153 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build.xml;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.logging.Logger;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import net.sourceforge.pmd.build.PmdBuildException;
import net.sourceforge.pmd.build.filefilter.DirectoryFileFilter;
import net.sourceforge.pmd.build.filefilter.RulesetFilenameFilter;
import net.sourceforge.pmd.build.util.ConfigUtil;
import net.sourceforge.pmd.build.util.FileUtil;
import net.sourceforge.pmd.build.util.XmlUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
/**
*
* @author Romain Pelisse <belaran@gmail.com>
*
*/
public class RulesetFileTemplater implements XmlFileTemplater {
private static Logger logger = Logger.getLogger(PmdBuildException.class.toString());
private String rulesetToDocsXsl = ConfigUtil.getString("pmd.build.config.xsl.rulesetToDocs");
private String mergeRulesetXsl = ConfigUtil.getString("pmd.build.config.xsl.mergeRuleset");
private String generateIndexXsl = ConfigUtil.getString("pmd.build.config.xsl.rulesIndex");
private String createRulesetMenuXsl = ConfigUtil.getString("pmd.build.config.xsl.createRulesetMenu");
private String addToSiteDescriptorXsl = ConfigUtil.getString("pmd.build.config.xsladdToSiteDescriptor");
public String getAddToSiteDescriptorXsl() {
return addToSiteDescriptorXsl;
}
public void setAddToSiteDescriptorXsl(String addToSiteDescriptorXsl) {
this.addToSiteDescriptorXsl = addToSiteDescriptorXsl;
}
public String getCreateRulesetMenuXsl() {
return createRulesetMenuXsl;
}
public void setCreateRulesetMenuXsl(String createRulesetMenuXsl) {
this.createRulesetMenuXsl = createRulesetMenuXsl;
}
public String getRulesetToDocsXsl() {
return rulesetToDocsXsl;
}
public void setRulesetToDocsXsl(String rulesetToDocsXsl) {
this.rulesetToDocsXsl = rulesetToDocsXsl;
}
public String getMergeRulesetXsl() {
return mergeRulesetXsl;
}
public void setMergeRulesetXsl(String mergeRulesetXsl) {
this.mergeRulesetXsl = mergeRulesetXsl;
}
public String getGenerateIndexXsl() {
return generateIndexXsl;
}
public void setGenerateIndexXsl(String generateIndexXsl) {
this.generateIndexXsl = generateIndexXsl;
}
private final String rulesDirectory;
public RulesetFileTemplater(String rulesDirectory) {
this.rulesDirectory = rulesDirectory;
}
@Override
public Document doTemplate(Document doc, Element root) {
for ( File dir : FileUtil.filterFilesFrom(FileUtil.existAndIsADirectory(rulesDirectory), new DirectoryFileFilter() )) {
logger.fine("Adding directory:" + dir.getAbsolutePath());
doc = addRulesetForEachLanguage(doc, root, dir);
}
return doc;
}
private Document addRulesetForEachLanguage(Document doc,Element root, File directory) {
Element language = doc.createElement("language");
language.setAttribute("name",directory.getName());
language = addEachRuleset(doc, language, directory);
if ( language.hasChildNodes() )
root.appendChild(language);
return doc;
}
private Element addEachRuleset(Document doc,Element language, File directory) {
for ( File ruleset : FileUtil.filterFilesFrom(directory, new RulesetFilenameFilter() ) ) {
Element rulesetElement = doc.createElement("ruleset");
rulesetElement.setAttribute("file",ruleset.getAbsolutePath());
rulesetElement.setAttribute("filename",ruleset.getName());
rulesetElement.setAttribute("language",directory.getName());
language.appendChild(rulesetElement);
}
return language;
}
@Override
public void transform(File source, File result, String xsl) {
transform(source, result, xsl, new HashMap<String, String>(0));
}
@Override
public void transform(DOMSource source, File result, String xsl) {
this.transform(source, result, xsl,new HashMap<String, String>(0));
}
@Override
public void transform(DOMSource source, File result, String xsl,
Map<String, String> parameters) {
try {
Transformer transformer = XmlUtil.createTransformer(xsl);
for ( Entry<String,String> entry: parameters.entrySet() )
transformer.setParameter(entry.getKey(), entry.getValue());
transformer.transform(source,new StreamResult(result));
} catch (TransformerException e) {
throw new IllegalStateException(e);
} catch (PmdBuildException e) {
throw new IllegalStateException(e);
}
}
@Override
public void transform(File source, File result, String xsl,
Map<String, String> parameters) {
try {
this.transform(XmlUtil.createDomSourceFrom(new FileInputStream(source)),result,xsl,parameters);
} catch (FileNotFoundException e) {
throw new IllegalArgumentException(e);
}
}
}
@@ -0,0 +1,25 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.build.xml;
import java.io.File;
import java.util.Map;
import javax.xml.transform.dom.DOMSource;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
public interface XmlFileTemplater {
Document doTemplate(Document doc, Element root);
void transform(File source, File result, String xsl);
void transform(File source, File result, String xsl, Map<String, String> parameters);
void transform(DOMSource source, File result, String xsl);
void transform(DOMSource source, File result, String xsl, Map<String, String> parameters);
}
@@ -0,0 +1,101 @@
package net.sourceforge.pmd.maven;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import net.sourceforge.pmd.build.PmdBuildException;
import net.sourceforge.pmd.build.PmdBuildTools;
import net.sourceforge.pmd.build.RuleSetToDocs;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
/**
* Says "Hi" to the user.
* @goal pmd-pre-site
* @requiresDependencyResolution runtime
*/
public class PmdPreSite extends AbstractMojo
{
/**
* Path to the existing site descriptor
*
* @parameter expression="${pmd.siteXml}" default-value="src/site/site.pre.xml"
*/
private String siteXml;
/**
* Path to the existing site descriptor
*
* @parameter expression="${pmd.siteXml.target}" default-value="src/site/site.xml"
*/
private String siteXmlTarget;
/**
* Path to the existing site descriptor
*
* @parameter expression="${pmd.siteTarget}" default-value="${project.build.directory}/generated-xdocs/rules"
*/
private String target;
/**
* Path to the existing site descriptor
*
* @parameter expression="${pmd.rulesets}" default-value="src/main/resources/rulesets/"
*/
private String rulesetsDirectory;
/**
* @parameter default-value="${project}"
* @required
* @readonly
*/
private MavenProject project;
public void execute() throws MojoExecutionException {
List<URL> runtimeClasspath = determineRuntimeClasspath();
getLog().info("PMD: site generation preparation");
getLog().debug("- target:" + target);
getLog().debug("- siteXml:" + siteXml);
getLog().debug("- rulesets:" + rulesetsDirectory);
getLog().debug(" -siteXmlTarget" + siteXmlTarget);
PmdBuildTools tool = new RuleSetToDocs();
tool.setTargetDirectory(target);
tool.setSiteXml(siteXml);
tool.setRulesDirectory(rulesetsDirectory);
tool.setSiteXmlTarget(siteXmlTarget);
tool.setRuntimeClasspath(runtimeClasspath.toArray(new URL[runtimeClasspath.size()]));
try {
tool.convertRulesets();
tool.preSiteGeneration();
}
catch ( PmdBuildException e) {
throw new MojoExecutionException(e.getMessage());
}
}
private List<URL> determineRuntimeClasspath() {
List<URL> runtimeClasspath;
try {
runtimeClasspath = new ArrayList<URL>();
runtimeClasspath.add(new File(project.getBuild().getOutputDirectory()).toURI().toURL());
Set<Artifact> runtimeArtifacts = project.getArtifacts();
for (Artifact a : runtimeArtifacts) {
if (Artifact.SCOPE_COMPILE.equals(a.getScope()) || Artifact.SCOPE_RUNTIME.equals(a.getScope()) ) {
runtimeClasspath.add(a.getFile().toURI().toURL());
}
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return runtimeClasspath;
}
}
@@ -0,0 +1,7 @@
pmd.build.config.xsl.rulesetToDocs=xslt/rule-format.xsl
pmd.build.config.xsl.mergeRuleset=xslt/merge-rulesets.xsl
pmd.build.config.xsl.rulesIndex=xslt/rules-index.xsl
pmd.build.config.xsl.createRulesetMenu=xslt/create-rules-menu.xsl
pmd.build.config.xsladdToSiteDescriptor=xslt/add-menu-to-site-descriptor.xsl
pmd.build.config.index.filename=index.xml
pmd.build.config.mergedRuleset.filename=mergedruleset.xml
@@ -0,0 +1,54 @@
############################################################
# Default Logging Configuration File
#
# You can use a different file by specifying a filename
# with the java.util.logging.config.file system property.
# For example java -Djava.util.logging.config.file=myfile
############################################################
############################################################
# Global properties
############################################################
# "handlers" specifies a comma separated list of log Handler
# classes. These handlers will be installed during VM startup.
# Note that these classes must be on the system classpath.
# By default we only configure a ConsoleHandler, which will only
# show messages at the INFO and above levels.
handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler
# To also add the FileHandler, use the following line instead.
#handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
# Default global logging level.
# This specifies which kinds of events are logged across
# all loggers. For any given facility this global level
# can be overriden by a facility specific level
# Note that the ConsoleHandler also has a separate level
# setting to limit messages printed to the console.
.level= DEBUG
############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################
# default file output is in user's home directory.
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
# Limit the message that are printed on the console to INFO and above.
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
############################################################
# Facility specific properties.
# Provides extra control for each logger.
############################################################
# For example, set the com.xyz.foo logger to only log SEVERE
# messages:
com.xyz.foo.level = SEVERE
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
BSD-style license; for more info see http://pmd.sourceforge.net/license.html
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:param name="menufile"/>
<!-- Copy all nodes from here. Can be overridden by a more specific XPath -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="//menu[@name='Rule Sets']">
<!-- <xsl:message>Edit existing site.xml with <xsl:value-of select="$menufile"/></xsl:message> -->
<xsl:variable name="items_to_add" select="document($menufile)"/>
<xsl:copy-of select="$items_to_add"/>
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
BSD-style license; for more info see http://pmd.sourceforge.net/license.html
-->
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="root">
<xsl:comment>THIS FILE HAS BEEN AUTOMATICLY GENERATED.</xsl:comment>
<menu name="Rule Sets">
<xsl:apply-templates/>
</menu>
</xsl:template>
<xsl:template match="language">
<xsl:variable name="language"><xsl:value-of select="@name"/></xsl:variable>
<xsl:element name="item">
<xsl:attribute name="name"><xsl:value-of select="@name"/></xsl:attribute>
<xsl:attribute name="collapse"><xsl:value-of select="'false'"/></xsl:attribute>
<xsl:attribute name="href">/rules/index.html</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="ruleset">
<xsl:variable name="ruleset_file" select="document(@file)"/>
<!--
<xsl:message>Looking in <xsl:value-of select="@file"/> to find ruleset "pretty" name: <xsl:value-of select="document(@file)//attribute::name"/></xsl:message>
!-->
<xsl:element name="item">
<xsl:attribute name="name"><xsl:value-of select="$ruleset_file//attribute::name"/></xsl:attribute>
<xsl:attribute name="href"><xsl:value-of select="concat('/rules/',concat(@language,concat('/',concat(substring-before(@filename,'.'),'.html'))))"/></xsl:attribute>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
BSD-style license; for more info see http://pmd.sourceforge.net/license.html
-->
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<xsl:template match="root">
<xsl:comment>
THIS FILE HAS BEEN AUTOMATICLY GENERATED.
</xsl:comment>
<rulesets>
<xsl:apply-templates/>
</rulesets>
</xsl:template>
<xsl:template match="ruleset">
<!-- Opening the appropriate file -->
<xsl:variable name="filename" select="@file"/>
<xsl:element name="language">
<xsl:attribute name="name"><xsl:value-of select="@language"/></xsl:attribute>
<!-- Adding to our tree all the nodes present there -->
<xsl:variable name="rules_file" select="document($filename)"/>
<xsl:copy-of select="$rules_file"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,110 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
BSD-style license; for more info see http://pmd.sourceforge.net/license.html
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- FUTURE: Externalising text to allow i18n generation -->
<xsl:variable name="Since" select="'Since: PMD '"/>
<xsl:variable name="definedByJavaClass" select="'This rule is defined by the following Java class'"/>
<xsl:variable name="ExampleLabel" select="'Example(s)'"/>
<xsl:variable name="PropertiesLabel" select="'This rule has the following properties'"/>
<xsl:variable name="Property.Name" select="'Name'"/>
<xsl:variable name="Property.DefaultValue" select="'Default Value'"/>
<xsl:variable name="Property.Desc" select="'Description'"/>
<xsl:variable name="RuleSet" select="'Ruleset'"/>
<xsl:template match="ruleset">
<document>
<xsl:variable name="rulesetname" select="@name"/>
<properties>
<author email="tom@infoether.com">Tom Copeland</author>
<title><xsl:value-of select="$RuleSet"/>: <xsl:value-of select="$rulesetname"/></title>
</properties>
<body>
<section>
<xsl:attribute name="name">
<xsl:value-of select="$rulesetname"/>
</xsl:attribute>
<xsl:apply-templates/>
</section>
</body>
</document>
</xsl:template>
<xsl:template match="rule[@name]">
<xsl:variable name="rulename" select="@name"/>
<xsl:variable name="classname" select="@class"/>
<subsection>
<xsl:attribute name="name">
<xsl:value-of select="$rulename"/>
</xsl:attribute>
<p><xsl:value-of select="$Since"/><xsl:value-of select="@since"/></p>
<p><xsl:value-of select="description"/></p>
<xsl:choose>
<xsl:when test="count(properties/property[@name='xpath']) != 0">
<source>
<xsl:value-of select="properties/property/value"/>
</source>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="classfile">
<xsl:call-template name="url-maker">
<xsl:with-param name="classname" select="$classname"/>
</xsl:call-template>
</xsl:variable>
<p><xsl:value-of select="$definedByJavaClass"/>: <a><xsl:attribute name="href"><xsl:value-of select="concat(concat('../../xref/',$classfile),'.html')"/></xsl:attribute><xsl:value-of select="@class"/></a>
</p>
</xsl:otherwise>
</xsl:choose>
<xsl:for-each select="./example">
<xsl:value-of select="$ExampleLabel"/>:
<source>
<xsl:value-of select="."/>
</source>
</xsl:for-each>
<xsl:variable name="hasproperties" select="count(properties/property[@name!='xpath'])"/>
<xsl:choose>
<xsl:when test="$hasproperties != 0">
<p><xsl:value-of select="$PropertiesLabel"/>:</p>
<table><th><xsl:value-of select="$Property.Name"/></th><th><xsl:value-of select="$Property.DefaultValue"/></th><th><xsl:value-of select="$Property.Desc"/></th>
<xsl:for-each select="properties/property[@name != 'xpath']">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="@value"/></td>
<td><xsl:value-of select="@description"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:when>
</xsl:choose>
</subsection>
</xsl:template>
<!-- Watch out, recursing function... -->
<xsl:template name="url-maker">
<xsl:param name="classname" select="."/>
<!--
<xsl:message>classname is:<xsl:value-of select="$classname"/></xsl:message>
-->
<xsl:choose>
<xsl:when test="contains($classname,'.')">
<xsl:variable name="pre" select="concat(substring-before($classname,'.'),'/')" />
<xsl:variable name="post" select="substring-after($classname,'.')" />
<xsl:call-template name="url-maker">
<xsl:with-param name="classname" select="concat($pre,$post)"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$classname"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
BSD-style license; for more info see http://pmd.sourceforge.net/license.html
-->
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
<!-- FUTURE: Externalising text to allow i18n documnetation -->
<xsl:variable name="Title" select="'PMD Rulesets index'"/>
<xsl:variable name="PageDesc" select="'List of rulesets and rules contained in each ruleset.'"/>
<xsl:template match="rulesets">
<document>
<properties>
<author email="mikkey@sourceforge.net">Miguel Griffa</author>
<title><xsl:value-of select="$Title"/></title>
</properties>
<body>
<section name="Current Rulesets">
<p><xsl:value-of select="$PageDesc"/></p>
<ul>
<xsl:for-each select="./language/ruleset">
<xsl:sort select="@name"/>
<li>
<a>
<xsl:attribute name="href">#<xsl:value-of select="translate(normalize-space(@name),' ','_')"/></xsl:attribute>
<xsl:value-of select="@name"/>
</a>: <xsl:value-of select="description"/>
</li>
</xsl:for-each>
</ul>
<xsl:variable name="urlPrefixLength"><xsl:value-of select="string-length('${pmd.website.baseurl}/rules/')"/></xsl:variable>
<xsl:for-each select="language">
<xsl:variable name="language"><xsl:value-of select="@name"/></xsl:variable>
<xsl:for-each select="ruleset">
<xsl:element name="a">
<xsl:attribute name="name">
<xsl:value-of select="translate(normalize-space(@name),' ','_')"/>
</xsl:attribute>
</xsl:element>
<subsection>
<xsl:attribute name="name"><xsl:value-of select="@name"/> (<xsl:value-of select="$language"/>)</xsl:attribute>
<ul>
<xsl:for-each select="./rule[@name]">
<li>
<a>
<xsl:attribute name="href"><xsl:value-of select="substring(@externalInfoUrl,$urlPrefixLength + 1)"/></xsl:attribute>
<xsl:value-of select="@name"/>
</a>: <xsl:value-of select="description"/></li>
</xsl:for-each>
</ul>
</subsection>
</xsl:for-each>
</xsl:for-each>
</section>
</body>
</document>
</xsl:template>
</xsl:stylesheet>
@@ -0,0 +1,41 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
/*
* Note: This class is here in pmd-build to test the RuntimeRulePropertiesAnalyzer
*/
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class AbstractPropertySource {
protected List<PropertyDescriptor> propertyDescriptors = new ArrayList<PropertyDescriptor>();
protected Map<PropertyDescriptor, Object> propertyValuesByDescriptor = new HashMap<PropertyDescriptor, Object>();
protected void defineProperty(final String name, final String description, final Object defaultValue) {
net.sourceforge.pmd.PropertyDescriptor descriptor = new net.sourceforge.pmd.PropertyDescriptor() {
@Override
public String name() {
return name;
}
@Override
public String description() {
return description;
}
@Override
public Object defaultValue() {
return defaultValue;
}
};
propertyDescriptors.add(descriptor);
propertyValuesByDescriptor.put(descriptor, defaultValue);
}
}
@@ -0,0 +1,15 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
/*
* Note: This class is here in pmd-build to test the RuntimeRulePropertiesAnalyzer
*/
public interface PropertyDescriptor {
String name();
String description();
Object defaultValue();
}
@@ -0,0 +1,29 @@
/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd;
import java.io.File;
import org.codehaus.plexus.util.FileUtils;
import org.junit.Before;
/**
* Base test class which sets up the environment for the tests.
* @author Andreas Dangel
*
*/
public abstract class TestBase {
protected static String TEST_DIR = "target/test-environment/";
protected static File testDir = new File(TEST_DIR);
/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
FileUtils.deleteDirectory(testDir);
FileUtils.copyDirectoryStructure(new File("src/test/resources/sample-pmd"), testDir);
}
}
Loaded 30 of 3090 files, more files were not shown because too many files have changed in this diff. Show more