Compare commits

..
249 Commits
Author SHA1 Message Date
Andreas Dangel 495294d09e set at least the pom version to 4.3.1-SNAPSHOT in the branch
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7438 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-10 19:54:38 +00:00
Andreas Dangel 0d3cba2a2e correct svn url for branch 4.3
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7436 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-10 19:33:54 +00:00
Romain Pelisse 2b7463ac4d Fix boggy link on website
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7435 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 20:31:38 +00:00
Romain Pelisse 0ac6f23098 Add note regarding PMD's JDK new default settings (Java7)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7434 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:55:09 +00:00
Romain Pelisse c6cc722fc1 Fix date typo on website main page.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7432 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:20:18 +00:00
Romain Pelisse af3d0be27e documenting an ugly hack for maven 1
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7431 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:20:02 +00:00
Romain Pelisse d7ac591da0 updating changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7430 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:19:44 +00:00
Romain Pelisse 32fb4784d6 Add links to release to main page
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7429 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:19:22 +00:00
Romain Pelisse a585e1d1bb whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7428 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:19:02 +00:00
Romain Pelisse 83a811f2f8 Test Ant integration with PMD sources rather than the one from the JDK
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7427 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:18:40 +00:00
Romain Pelisse f58ecd51dc remove rsync release to sf, as it has become useless
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7426 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:18:18 +00:00
Romain Pelisse 307040f53f update release script to use 4.3.x instead of 4.2.x
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7425 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:17:58 +00:00
Romain Pelisse 4cb3e53d4b add 43.xml to regroup new rules for 4.3 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7424 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:17:40 +00:00
Romain Pelisse 314151c761 bump version to 4.3
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7423 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-06 15:17:16 +00:00
Andreas Dangel cca1aac4d9 using shell.sourceforge.net as repo server for uploading artifacts
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7422 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-05 16:25:57 +00:00
Dinesh Bolkensteyn 2654bbff4d 4.3.x Improved the PreserveStackTrace rule to support Java 7
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7413 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-01 14:24:17 +00:00
Dinesh Bolkensteyn 8bbca10f73 PMD 4.3.x Java 7 is now default and better 1.5 targetJdk handling
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7412 51baf565-9d33-0410-a72c-fc3788e3496d
2011-11-01 13:56:31 +00:00
Romain Pelisse 3dea951e0c fix small typo on website (missing link content)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7406 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 14:13:09 +00:00
Romain Pelisse 3cd12def47 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/branches/pmd/4.3.x@7405 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 14:12:49 +00:00
Romain Pelisse ad3086eb2b whitespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7403 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 13:48:07 +00:00
Romain Pelisse f2ac93a42d Applied patch 2822131: Enhance SuspiciousEqualsMethodName, thanks to Andy Throgmorton
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7402 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-14 13:47:45 +00:00
Romain Pelisse 14cc641316 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/branches/pmd/4.3.x@7400 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-13 15:54:39 +00:00
Romain Pelisse b60d442777 Generated source modifications (by javacc - due to change to support Java 7)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7397 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-13 15:41:39 +00:00
Romain Pelisse a050468aea Applied patch 3411811: Java 7 support for PMD, thanks to Dinesh Bolkensteyn and SonarSource.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7396 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-13 15:40:35 +00:00
Andreas Dangel 85914a9a2c renamed eclipse project to 4.3.x, using ANT_HOME/lib/ant.jar in build classpath
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7384 51baf565-9d33-0410-a72c-fc3788e3496d
2011-10-03 17:46:58 +00:00
Andreas Dangel 232eeb24f0 correct the default maven deploy repository
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7371 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-30 18:29:21 +00:00
Andreas Dangel 8cebc5dc84 Added license info to pom.xml, extended next release howto for maven
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7366 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-29 18:57:21 +00:00
Romain Pelisse 0496cc8fc5 Fix patch 3130615: fix xpath rule to consider the correct if-condition.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7362 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-29 14:52:46 +00:00
Romain Pelisse 66ef2399e3 Applied patch 3013807: DoNotCallSystemExit through Runtime. Thanks to Steven Christou.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7361 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-29 14:28:37 +00:00
Romain Pelisse ee246222ae add missing test file for new rule GuardDebugLogging
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7360 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-29 14:26:27 +00:00
Romain Pelisse 791ddbef0b 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/branches/pmd/4.3.x@7359 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-29 13:59:25 +00:00
Romain Pelisse d0f2ec451a Applied patch 3155140: Exclude boolean getters (is*) from
TooManyMethods rule. Thanks to Riku Nykanen.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7353 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 20:05:52 +00:00
Romain Pelisse 9487afa38f add last patch to changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7352 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-25 20:05:07 +00:00
Romain Pelisse ba1404de3f applied patch 2828099 : Designer's bug 'Create XML Rule', thanks to Andy Throgmorton
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7339 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 19:33:07 +00:00
Romain Pelisse c8da4a1c83 whitelines + reindent
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7338 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 19:32:41 +00:00
Romain Pelisse 5155cdd50d add missing link to typeresolution rulesets
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7329 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 00:54:13 +00:00
Romain Pelisse d0af1fc350 applied patch 2996539 : Add support for C# to CPD (simple parser)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7327 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-24 00:29:17 +00:00
Romain Pelisse 94b5c9f797 sync credits webpage with trunk
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7325 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 23:57:40 +00:00
Romain Pelisse fb32b871d8 adding Andy Throgmorton to the contributor list
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7324 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 23:57:23 +00:00
Romain Pelisse 1668a79f03 applied patch 2829888 : New rule: Calling Thread.run() - thanks to Andy Throgmorton
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7323 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 23:57:05 +00:00
Romain Pelisse 340e0f2583 apply patch 3084292: character reference in xml report - thanks to Seko
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7318 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 17:34:11 +00:00
Romain Pelisse 4155d94028 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/branches/pmd/4.3.x@7317 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-23 17:33:41 +00:00
Romain Pelisse d79bc38bd1 merge changes to release script from 4.3.x
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7301 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-21 17:57:34 +00:00
Romain Pelisse 3efe93295c update 4.3.x branch with lastest modification from 4.2.x
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.3.x@7292 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-19 17:42:21 +00:00
Romain Pelisse ad7c32bcff add new rules to rulesets/releases/42.xml
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7258 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:47:19 +00:00
Romain Pelisse 6112861894 removing a bunch of old/unused files from etc folder...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7257 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:19:04 +00:00
Romain Pelisse ec289775c3 making script logging messages a tad more consistent
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7256 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:18:45 +00:00
Romain Pelisse d10160ae45 rename generate_release script to simply release.sh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7255 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:18:29 +00:00
Romain Pelisse bbd2b945cf enhance release script to support the a snapshot option, rendering the extra generate_snapshot script useless
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7254 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:18:11 +00:00
Romain Pelisse 866eb78393 make source release script more consistent with the binary release part
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7253 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:17:53 +00:00
Romain Pelisse ba6485bdc7 use different folder for the bin and the src release to avoid confusion during the script execution
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7252 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:17:36 +00:00
Romain Pelisse a40c07aeb2 remove unused script's variables
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7251 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:17:18 +00:00
Romain Pelisse a37296d7b9 add a function to create root directory tree to harmonize script action between src release and binary release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7250 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:17:03 +00:00
Romain Pelisse 260e0730b7 fix inconsistency in variable uses
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7249 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:16:46 +00:00
Romain Pelisse 384cfa8bcd using mktemp() to have a temporary folder for each build make pointless the preventing rm -rf on the previous potential files...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7248 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:16:30 +00:00
Romain Pelisse 3f39a04a58 move current_dir check in an earlier step of the script
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7247 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:16:14 +00:00
Romain Pelisse a3393f4b13 remove dependency to asm in project.xml
As it seems that ASM is no longer available in Maven 1 repository, this dependency leads to
a build failure. As Maven 1 is ONLY used to generate the xdocs documenation, and has been removed
from the trunk, it does not seems relevant to try to fix this. Removing the depedency does allow
one to build the documentation, which what we need here...

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7246 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:15:58 +00:00
Romain Pelisse 17442f2028 fix typos in xdocs (& to &)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7245 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:15:42 +00:00
Romain Pelisse c7933c9700 make docs.sh able to use svn or git to restore files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7244 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:15:26 +00:00
Romain Pelisse 779e304d18 removes all copy of folder related to the pmd 1.4 compliant release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7243 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:15:12 +00:00
Romain Pelisse 61498acc39 extract version number from pom.xml - makes -v optional, check if release script is executed from the 'etc' folder
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7242 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:14:54 +00:00
Romain Pelisse 12faf9023b enhance release script to use getopt and support args - instead of interactive commands
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7241 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:14:35 +00:00
Romain Pelisse 46671ba8b8 set release script to stop on the first shell failure
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7240 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:14:17 +00:00
Romain Pelisse d1c1863f07 remove retroweaver for build - it seems broken right now and having a Java 1.4 compliant version of PMD is somewhat less critical today...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7239 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:14:01 +00:00
Romain Pelisse 75201a5a60 ensure that release script fails when ant build fails
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7238 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:13:45 +00:00
Romain Pelisse 0b23f48cf4 fix trailing whitespaces in changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7237 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:13:29 +00:00
Romain Pelisse 73a989fc97 enhance release script to check for required dependencies (ant, maven, mvn...)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7236 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:13:10 +00:00
Romain Pelisse 779526036a add usage function for release script, and missing required argument check
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7235 51baf565-9d33-0410-a72c-fc3788e3496d
2011-09-11 19:12:54 +00:00
Romain Pelisse 19da0dfc1a Applied patch from Juan Jesús García de Soria on CPD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7106 51baf565-9d33-0410-a72c-fc3788e3496d
2010-07-24 14:12:52 +00:00
Ryan Gustafson ffc48e9835 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/branches/pmd/4.2.x@7071 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-13 05:34:10 +00:00
Ryan Gustafson fdb5dcc628 Add reference to QAPlug for Intellaj IDEA.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7068 51baf565-9d33-0410-a72c-fc3788e3496d
2010-02-02 15:59:13 +00:00
Ryan Gustafson 043e5d02f3 Add reference to SolidSDD, similar to CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7067 51baf565-9d33-0410-a72c-fc3788e3496d
2010-01-26 00:53:11 +00:00
Romain Pelisse 7a083a30e9 applied patch from Nicolas Dordet to fix False+ on CloseResource - ID: 2920057.
Thanks Nicolas !

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7049 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-28 15:00:35 +00:00
Dale Anson c831d82bf0 Added vararg to constructor so it matches with super constructor.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7027 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-12 16:21:03 +00:00
Dale Anson 2130c12ba3 Updated changelog to note Ecmascript is now supported by CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7025 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 17:11:39 +00:00
Dale Anson 79ef486724 Changed javascript to ecmascript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7024 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 17:10:47 +00:00
Dale Anson b937b65558 Changed javascript to ecmascript.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7023 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 17:09:14 +00:00
Dale Anson 38044fb7f5 Added javascript as a supported language for CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7019 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-09 02:22:56 +00:00
Ryan Gustafson cc3f172ef2 Fix url for new rule.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7016 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-05 22:36:32 +00:00
Ryan Gustafson 8fe5a0d780 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/branches/pmd/4.2.x@7015 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-05 22:34:45 +00:00
Romain Pelisse f67056e7d7 fixing performance issue on PreserveStackTrace by removing use of descendant:: axis. See bug 1808110
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7010 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-04 14:37:46 +00:00
Romain Pelisse 59eaa27c59 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/branches/pmd/4.2.x@7009 51baf565-9d33-0410-a72c-fc3788e3496d
2009-12-04 13:37:26 +00:00
Ryan Gustafson d836721675 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/branches/pmd/4.2.x@7005 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-27 18:13:13 +00:00
Romain Pelisse aaeaefad1a oups, forgot to add new rule to changelog.txt
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@7001 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-14 15:57:33 +00:00
Romain Pelisse 6f857aa813 oups forgot to add UseConcurrentHashMap to test class
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6998 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-14 15:01:15 +00:00
Romain Pelisse 1d7d5e6474 Adding a new rule 'UseConcurrentHashMap' to promote use of ConcurrentHashMap implementation in Java 5
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6997 51baf565-9d33-0410-a72c-fc3788e3496d
2009-11-14 15:00:48 +00:00
Romain Pelisse a73b7f1fb1 Fix bug 2832322 - cpd.xml file tag path attribute should be entity-encoded.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6988 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-16 13:18:39 +00:00
Romain Pelisse 64d3bc28cb 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/branches/pmd/4.2.x@6986 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-16 01:25:30 +00:00
Romain Pelisse 8b4ade3016 While debugging I realise that PMD rules are 'stateless', so I remove my code to clean the ArrayList at each passage.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6985 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 18:05:52 +00:00
Romain Pelisse 60c0bcb858 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/branches/pmd/4.2.x@6980 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 17:20:10 +00:00
Romain Pelisse 0b60a2d6ff making field private and adding missing @Override
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6979 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 17:19:47 +00:00
Romain Pelisse 73ebf2603a Fixing bug 2826119 - False +: DoubleCheckedLocking warning with volatile field
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6978 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 16:40:53 +00:00
Romain Pelisse 6f427f9fa5 Fixing bug : False -: DoubleCheckedLocking with reversed null check - ID: 2835074
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6976 51baf565-9d33-0410-a72c-fc3788e3496d
2009-08-15 15:58:49 +00:00
Ryan Gustafson d6b326838f Added AvoidLosingExceptionInformation from George Thomas.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6972 51baf565-9d33-0410-a72c-fc3788e3496d
2009-07-21 01:43:49 +00:00
Romain Pelisse 0e3a92c291 Adding link to my own article, in French, on PMD
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6968 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-30 12:33:10 +00:00
Romain Pelisse bbc1d2a02f Fixing bug 2810228 : updating cpd documentation.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6965 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-22 14:25:55 +00:00
Xavier Le Vourch 0e1bf46e07 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/branches/pmd/4.2.x@6960 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 20:34:03 +00:00
Xavier Le Vourch 6243e25400 asm jars updated to 3.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6954 51baf565-9d33-0410-a72c-fc3788e3496d
2009-06-13 00:13:38 +00:00
Ryan Gustafson ae499b9132 Fixed bug 2724653 - AvoidThreadGroup reports false positives
Changed Rule to use Type Resolution.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6918 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-24 02:51:55 +00:00
Ryan Gustafson c168ecc6e5 Correct -benchmark reporting of Rule visits via the RuleChain
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6912 51baf565-9d33-0410-a72c-fc3788e3496d
2009-04-18 08:21:27 +00:00
Xavier Le Vourch ac439685fc Android ruleset: CallSuperLast rule now also checks for finish() redefinitions
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6891 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-22 23:06:42 +00:00
Xavier Le Vourch 2321376151 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/branches/pmd/4.2.x@6888 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-22 22:50:57 +00:00
Ryan Gustafson f7cefa4a7d 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/branches/pmd/4.2.x@6879 51baf565-9d33-0410-a72c-fc3788e3496d
2009-03-01 09:57:16 +00:00
Xavier Le Vourch eeb8b10892 Fixed bug 2606609 - False "UnusedImports" positive in package-info.java
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6874 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-23 17:45:51 +00:00
Romain Pelisse 2577acd87e Cleanup: Moving testcase for bug '1843273 : False - on SimplifyBooleanReturns' to the appropriate file.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6858 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-19 23:40:14 +00:00
Romain Pelisse e3ad18317a Adding fix for bug [2317099] False + in SimplifyConditional to changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6856 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-19 22:24:12 +00:00
Romain Pelisse 6bc10af45e Test case and fix for bug [2317099 ] false + in SimplifyConditional.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6855 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-19 22:23:19 +00:00
Romain Pelisse 5a1a457eae Reproducing bug False 2606609: 'UnusedImports' positive in package-info.java
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6849 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-16 23:54:51 +00:00
Romain Pelisse 59a60be0d2 Adding Bug fix 2590258 - NPE with nicerhtml output to changelog.txt
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6848 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-16 12:17:34 +00:00
Romain Pelisse f7aa88db54 Bug Fix: NPE in XsltRenderer
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6847 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-16 12:17:11 +00:00
Xavier Le Vourch eb371c24a1 wrong since attribute
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6843 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-12 19:30:51 +00:00
Xavier Le Vourch a846ccb014 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/branches/pmd/4.2.x@6842 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-12 19:28:38 +00:00
Xavier Le Vourch a31f7f3578 next dev cycle: 4.2.6-SNAPSHOT
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6838 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 02:37:38 +00:00
Xavier Le Vourch ecb51fbac5 upload of maven files to sourceforge was not correctly done
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6837 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 02:29:08 +00:00
Xavier Le Vourch 3ab42655dc web site updates for 4.2.5 changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6836 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 01:54:53 +00:00
Xavier Le Vourch c44b0c2c87 android ruleset was not in changelog
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6832 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 01:18:15 +00:00
Xavier Le Vourch 2817991f7d preparing 4.2.5 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6830 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 00:52:32 +00:00
Xavier Le Vourch ce0fd33919 local.properties ignored
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6829 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 00:46:29 +00:00
Xavier Le Vourch 316ef30f5b note for Fixed bug 2027626 - False + : AvoidFinalLocalVariable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6828 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-09 00:43:32 +00:00
Romain Pelisse 7a7381829a Final fix
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6824 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 21:57:20 +00:00
Romain Pelisse 9e0de88bc2 Adding testcase to reproduce bug 2027626 : 'False + : AvoidFinalLocalVariable'
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6823 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 21:56:58 +00:00
Xavier Le Vourch 13f6224635 2009 added to copyright
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6821 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 21:30:56 +00:00
Xavier Le Vourch a4e7012c63 dogfood location must be on branch or the pmd plugin complain about internal/pmdspecific.xml from the trunk
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6820 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 21:29:41 +00:00
Xavier Le Vourch de924b50cf 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/branches/pmd/4.2.x@6818 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-08 19:19:33 +00:00
Romain Pelisse 605de6f7bf 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/branches/pmd/4.2.x@6816 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-05 10:57:28 +00:00
Xavier Le Vourch 751ed84e0d 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/branches/pmd/4.2.x@6814 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-05 03:29:15 +00:00
Xavier Le Vourch b5a90924a7 CallSuperFirst android rule now accepts logging before call to super()
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6812 51baf565-9d33-0410-a72c-fc3788e3496d
2009-02-04 23:50:51 +00:00
Romain Pelisse ca664ea719 Adding test case for bug '[2115761] False +: System.arraycopy is more efficient'
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6811 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-31 21:39:39 +00:00
Romain Pelisse d740f68a94 Test case to reproduce [1732744] False + : basic/UselessOperationOnImmutable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6810 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-29 13:48:18 +00:00
Romain Pelisse d20f8f2291 Test case to reproduce [1622281 ] Loop scoping dodgy
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6809 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-29 13:21:34 +00:00
Romain Pelisse 72cc961ca8 Fix for bug 2225474 - VariableNamingConventions does not work with nonprimitives
- Adding a test case to reproduce the issue ;
- Fix ;
- Changelog updated.
Special thanks to Markus Kling for pointing this fix to me.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6807 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-28 20:51:58 +00:00
Xavier Le Vourch e26de08062 new ruleset for Android platform
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6803 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-27 23:52:27 +00:00
Xavier Le Vourch 9b4b50560d Recent change in UseSingleton introduced a false + for methods with annotations
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6802 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-27 23:43:03 +00:00
Xavier Le Vourch 240e548c36 new script to build snapshot: etc/generate_snapshot.sh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6800 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-27 20:24:02 +00:00
Xavier Le Vourch 9172c26905 code cleanup: grammar and spelling
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6797 51baf565-9d33-0410-a72c-fc3788e3496d
2009-01-24 18:48:10 +00:00
Romain Pelisse 1b2063cf94 Working on bug : https://sourceforge.net/tracker2/?func=detail&aid=2410201&group_id=56262&atid=479921
I reproduced the issue and trace the problem back to the symbol table (More exactly a method of the NameOccurences class). I also added a test to reproduced the issue here. (Also added a little javadoc).

I'm not really although how to "assert" results in this test, not really sure how the symbol table should be expected to behave here.

No more time right now for this, i'll try see through this week. 

Note: I'll patch trunk when I'll have fix for good this issue.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6759 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-21 15:36:56 +00:00
Xavier Le Vourch 8c64498325 Fixed bug - JUnitTestsShouldIncludeAssert now detects Junit 4 Assert.assert... constructs
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6753 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-13 00:12:54 +00:00
Xavier Le Vourch ffb1131fe0 deprecated JRE_LIB replaced with org.eclipse.jdt.launching.JRE_CONTAINER
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6752 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 18:50:48 +00:00
Xavier Le Vourch 3f719b9b0f oops, NPE in previous commit...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6751 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 07:25:27 +00:00
Xavier Le Vourch aea7c89175 oops, NPE in previous commit...
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6749 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 07:09:45 +00:00
Xavier Le Vourch 0fb697a50b Fixed bug 2404700 - UseSingleton should not act on enums
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6746 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 06:32:25 +00:00
Xavier Le Vourch e300a2630b Fixed bug 1955852 - false positives for UnusedPrivateMethod & UnusedLocalVariable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6744 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-11 00:48:43 +00:00
Romain Pelisse 59646f99d2 Resync the credits.xml with trunk.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6739 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 15:10:14 +00:00
Romain Pelisse 743d2da79a Adding credit entry on Sergey Pariev for his fix on Ruby CPD.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6738 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 15:08:36 +00:00
Romain Pelisse 4e8664c244 Oups, last commit included test case for bug [ 1955852 ] false positives for UnusedPrivateMethod & UnusedLocalField. Setting them to non regression test.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6737 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 12:09:32 +00:00
Romain Pelisse 5948b700b3 Oups, last commit included test case for bug [ 1955852 ] false positives for UnusedPrivateMethod & UnusedLocalField. Setting them to non regression test.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6736 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 12:09:01 +00:00
Romain Pelisse 2a8cf167b9 Remove useless addons in the Eclipse 's .classpath file.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6735 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 11:11:46 +00:00
Romain Pelisse d4aad400d5 Fix for bug [ 2315599 ] False +: UseSingleton with class containing constructor.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6733 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-02 09:02:44 +00:00
Romain Pelisse f7f2532566 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/branches/pmd/4.2.x@6731 51baf565-9d33-0410-a72c-fc3788e3496d
2008-12-01 21:05:21 +00:00
Xavier Le Vourch 8cdc5bd985 code cleanup: better XPath expression for ClassWithOnlyPrivateConstructorsShouldBeFinal
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6704 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-27 17:36:03 +00:00
Xavier Le Vourch 0252a9c905 Fixed bug 2230809 - False +: ClassWithOnlyPrivateConstructorsShouldBeFinal
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6703 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-27 17:06:30 +00:00
Xavier Le Vourch 8f8afde50b Fixed bug 2315623 - @SuppressWarnings("PMD.UseSingleton") has no effect
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6701 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-24 21:00:23 +00:00
Romain Pelisse 6836ae8bcd 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/branches/pmd/4.2.x@6698 51baf565-9d33-0410-a72c-fc3788e3496d
2008-11-24 19:04:55 +00:00
Ryan Gustafson 51ca03348c Better exception handling.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6637 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 21:19:11 +00:00
Ryan Gustafson 41d0550d99 Enhanced logging in the ClassTypeResolver to provide more detailed messaging.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6632 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-18 05:09:43 +00:00
Xavier Le Vourch 06bb1a6f27 Java grammar fix: TypeParameter name wasn't set
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6629 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-17 17:24:37 +00:00
Xavier Le Vourch fc173e08c8 preparing for next version 4.2.5-SNAPSHOT
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6598 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-13 18:20:59 +00:00
Xavier Le Vourch 14461efefd sourceforge access changes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6597 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-13 08:20:45 +00:00
Xavier Le Vourch 68c1d53a59 4.2.4 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6596 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-13 04:00:45 +00:00
Xavier Le Vourch 80a7ece0bc preparing for 4.2.4 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6594 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-13 03:36:18 +00:00
Xavier Le Vourch 10f5aa8d69 Fixed patch 2075906 - Add toString() to the rule UnnecessaryWrapperObjectCreation
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6591 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-11 18:38:37 +00:00
Xavier Le Vourch 9893f33977 link to snapshot web site in 'Future releases' section
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6583 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 23:20:34 +00:00
Ryan Gustafson 2e0bffe7a3 Correct changelog comment.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6575 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 02:03:56 +00:00
Ryan Gustafson 718ef77283 Set exclude marker on parser to fix NPE.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6574 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-07 01:57:12 +00:00
Xavier Le Vourch 4ac13741ab cpd ant task documentation for attributes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6555 51baf565-9d33-0410-a72c-fc3788e3496d
2008-10-03 23:43:05 +00:00
Xavier Le Vourch f3c1227dcc code cleanup: extra '[' in <![CDATA[ removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6515 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-26 19:05:10 +00:00
Xavier Le Vourch 7cd887ba8c merge from trunk: Fixed ClassCastException in symbol table code
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6468 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-10 19:54:21 +00:00
Xavier Le Vourch c07f274b4e merged from trunk: Fixed ClassCastException on generic method in BeanMembersShouldSerialize
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6466 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-10 18:34:41 +00:00
Xavier Le Vourch 037cf154f7 merge from trunk:
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/branches/pmd/4.2.x@6448 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-04 22:54:47 +00:00
Xavier Le Vourch 69ff09410a Fixed bug 1943204 - Ant task: <ruleset> path should be relative to Ant basedir
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6442 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-03 23:38:32 +00:00
Xavier Le Vourch 39e59dd02f merged from trunk: Fixed bug 1481051 - false + UnusedNullCheckInEquals (and other false positives too)
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6440 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-03 20:22:39 +00:00
Xavier Le Vourch 7ed88ed4cf merge from trunk: Dr. Wedemann isn't working in this area anymore, so removing this
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6435 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-02 16:24:17 +00:00
Xavier Le Vourch ef13f147ce javacc updated to official 4.1 version
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6434 51baf565-9d33-0410-a72c-fc3788e3496d
2008-09-02 16:18:24 +00:00
Xavier Le Vourch e0dbf498e2 version updated to 4.2.4-SNAPSHOT
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6430 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-31 21:32:19 +00:00
Xavier Le Vourch c777f4d548 old obsolete info removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6429 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-31 21:11:45 +00:00
Xavier Le Vourch b3d2a856a8 changes for 4.2.3 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6428 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-31 20:30:45 +00:00
Xavier Le Vourch 59a61fb58c 4.2.3 description on web site
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6427 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-31 20:05:06 +00:00
Xavier Le Vourch 7e018ac3bd extra quote removed
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6426 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-31 19:51:21 +00:00
Xavier Le Vourch d4e6c1872d preparing 4.2.3 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6424 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-31 19:26:42 +00:00
Xavier Le Vourch 767cea113d merge from trunk:
Fixed handling of escape characters in UseIndexOfChar and AppendCharacterWithChar


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6422 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 20:27:04 +00:00
Xavier Le Vourch 5f2d71cdde Fixed bug 1556594 - Wonky detection of NullAssignment
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6418 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 01:56:07 +00:00
Xavier Le Vourch 263b91d556 Fixed bug 2050064 - False + SuspiciousOctalEscape with backslash literal
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6415 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 01:04:34 +00:00
Xavier Le Vourch 94cfdb93fd Fixed bug 1977438 - False positive for UselessStringValueOf
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6414 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-28 00:16:23 +00:00
Xavier Le Vourch 91ad44ba0a Fixed false negative in UselessOverridingMethod
using < 0 instead of > 0 in getting argument list size. Maybe we should have a rule to detect this...


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6408 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-26 19:19:14 +00:00
Xavier Le Vourch 2141dba366 code cleanup: unused import
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6400 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 19:41:26 +00:00
Xavier Le Vourch d700a3ea11 All comment types are now stored in ASTCompilationUnit, not just formal ones
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6398 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 19:36:11 +00:00
Xavier Le Vourch 7a6f82b222 javacc.jar added to lib directory to get reproduceable builds
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6391 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-25 00:54:30 +00:00
Ryan Gustafson 1da7b889b7 Added credit for Jared's patch.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6386 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-24 06:09:43 +00:00
Ryan Gustafson 8b9942436d Java grammar enhanced to include AnnotationMethodDeclaration as parent node of method related children of AnnotationTypeMemberDeclaration.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6385 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-24 06:01:18 +00:00
Ryan Gustafson 3d0d4436de JavaCC generated artifacts updated to JavaCC 4.1d1.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6384 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-24 05:16:45 +00:00
Xavier Le Vourch 5620b24c8f Fixed bug 2056318 - False positive for AvoidInstantiatingObjectsInLoops
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6370 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-19 22:18:34 +00:00
Ryan Gustafson 8a0052dee9 Added YourKit Java Profiler logo to Credits.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6369 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-15 13:34:31 +00:00
Ryan Gustafson 80e5944dcd Add requested credit for YourKit, for use of licenses.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6341 51baf565-9d33-0410-a72c-fc3788e3496d
2008-08-08 13:00:36 +00:00
Xavier Le Vourch 169ab5d225 Fixed bug 2002722 - false + in UseStringBufferForStringAppends
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6334 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-22 17:54:45 +00:00
Xavier Le Vourch d1e9279f3a merging updates from the trunk
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6332 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-18 16:47:44 +00:00
Xavier Le Vourch 244c79ecb0 merge from trunk:
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/branches/pmd/4.2.x@6312 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-01 20:45:01 +00:00
Xavier Le Vourch 10bc1bab17 Adding top level build.xml to have a more standard setup and ease continuous
integration configuration


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6311 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-01 20:37:21 +00:00
Xavier Le Vourch 1b59db43f3 merge from trunk: Looks like the Ant task doesn't take 'debug' anymore
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6310 51baf565-9d33-0410-a72c-fc3788e3496d
2008-07-01 16:39:45 +00:00
Romain Pelisse 18e444b448 Oups, i forgot to remove attribute language and to change xpath class back
to net.sourceforge.pmd.rules.XPathRule.
Corrected (thanks again to Ryan for this report).

By the way, it seems that the continous integration process is not set to
yell at us if we broke the build on the pmd-4.2.x branch. 
If this is not too much work, it surely be nice to have.



git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6267 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 16:27:26 +00:00
Romain Pelisse be028ccaef Adding a proper example to TooFewBranchesForASwitchStatement
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6266 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-24 12:03:34 +00:00
Xavier Le Vourch 4583fde181 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/branches/pmd/4.2.x@6237 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-20 19:58:54 +00:00
Xavier Le Vourch a0b8ff4c4a SuppressWarning fixes:
Fixed bug 1998185 - BeanMembersShouldSerialize vs @SuppressWarnings("serial")

@SuppressWarnings("all") disables all warnings


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6236 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 21:47:07 +00:00
Xavier Le Vourch 9ce5a5be43 Optimizations and false positive fixes in PreserveStackTrace
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6232 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-19 03:50:50 +00:00
Xavier Le Vourch d951795634 Fixed bug 1977230 - false positive: UselessOverridingMethod
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6205 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-14 00:37:10 +00:00
Romain Pelisse f663b9773a Applying patch [ 1958961 ] EmptyInitializer
Not really bug fix, but the patch was easy to apply so, why deprive soon to be 4.2.X user from this little addon... 

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6201 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 22:07:56 +00:00
Romain Pelisse 79a84939c5 Applying patch [ 1966013 ] Missing cases in UselessOperationOnImmutable
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6197 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-13 20:36:32 +00:00
Ryan Gustafson b287a5a73c 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/branches/pmd/4.2.x@6186 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-10 20:58:24 +00:00
Ryan Gustafson d9c6cb8b31 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/branches/pmd/4.2.x@6184 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-10 05:56:05 +00:00
Ryan Gustafson 791e3f10e4 Additional fixing to get exclude-pattern to work with multiple RuleSets.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6178 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-04 05:04:43 +00:00
Ryan Gustafson 8534a438a6 Update RuleChainVisitor to group rules by RuleSet, and use RuleSet.applies(File) before visiting.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6170 51baf565-9d33-0410-a72c-fc3788e3496d
2008-06-03 17:22:48 +00:00
Xavier Le Vourch 185958c419 Fixes for exclude-pattern
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6169 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-30 22:00:19 +00:00
Ryan Gustafson 123fc5f64f Update RuleSet writing documentation to mention <exclude-pattern>/<include-pattern>.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6161 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-28 19:28:21 +00:00
Xavier Le Vourch eed1a59034 cenqua link fixed and logo added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6159 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-27 21:52:20 +00:00
Xavier Le Vourch 2ab3bd3ac6 cleanup of pmd-test-<version>.jar build
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6150 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 23:07:47 +00:00
Romain Pelisse bf5c221439 Adding back the excludes lines. The classes were excludes
as they are part of the pmd.jar.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6145 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-23 09:09:28 +00:00
Romain Pelisse f84db1bffc Adding the generation of pmd-test.jar to the target 'jar'.
It's a quick fix.

Also note that i removed the following line from the jar 
creation:
excludes="test/net/sourceforge/pmd/testframework/**/**" 
this lead to exclude the testframework itself, which lead
to a pretty useless jar.

I didn't remove the pmd-test jar creation from the 
retroweaver task neither remove this exclusion. Retro
Weaver part of the build is still not working on my 
laptop, so i didn't want to alter without the capability
to test my modifications.

I modify the 4.2.3 first because of this. This way, if we have to
release a 4.2.3 before 5.0, the pmd-test.jar should be
in it.


git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6139 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-22 15:46:43 +00:00
Xavier Le Vourch 0043392460 version updated to 4.2.3-SNAPSHOT
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6137 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 19:56:32 +00:00
Xavier Le Vourch 99a31e423a updates for uploading 4.2.2
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6136 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 19:47:11 +00:00
Xavier Le Vourch 823d3447c8 preparing for 4.2.2 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6134 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 18:27:25 +00:00
Ryan Gustafson 68ff19de08 Reverse chronological order for releases, and change 'pmd' to 'PMD'.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6133 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 17:13:06 +00:00
Xavier Le Vourch 55218c6196 front page updated to include recent releases and short roadmap
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6130 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 17:05:02 +00:00
Xavier Le Vourch ab934c2a9b link to article by Alan Berg
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6129 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 17:04:01 +00:00
Xavier Le Vourch cd2745d5fe maven 1 pmd plugin page links to maven 2 plugin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6128 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-20 17:02:35 +00:00
Xavier Le Vourch f9590d218a UnnecessaryParentheses now checks all expressions, not just return statements
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6126 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-19 03:15:40 +00:00
Xavier Le Vourch cfde99a990 Documentation of AvoidDuplicateLiterals properties
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6117 51baf565-9d33-0410-a72c-fc3788e3496d
2008-05-16 00:39:26 +00:00
Xavier Le Vourch d2429a95cc copy/paste error in MoreThanOneLogger
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6075 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-28 18:46:14 +00:00
Xavier Le Vourch 713dc2a9a5 Bug fix: NPE in MoreThanOneLogger
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6073 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-28 18:34:24 +00:00
Xavier Le Vourch 411cf2826f Fixed parsing bug: constant fields in annotation classes
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6071 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-27 23:47:59 +00:00
Xavier Le Vourch 99348a8582 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/branches/pmd/4.2.x@6023 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 23:34:30 +00:00
Xavier Le Vourch 33bcfed90f version changed to 4.2.2-SNAPSHOT in Java and 4.2.2 in other files
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6020 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 21:52:03 +00:00
Xavier Le Vourch cdb5525716 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/branches/pmd/4.2.x@6018 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-16 21:18:35 +00:00
Xavier Le Vourch d157b08bee 4.2.1 links updated
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6011 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 22:05:10 +00:00
Xavier Le Vourch dc353cb718 preparing 4.2.1 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6007 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 21:25:11 +00:00
Romain Pelisse adfd316184 Fixed bug 1808110 - PreserveStackTrace
(backport from trunk)

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6006 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 17:47:30 +00:00
Xavier Le Vourch 2f4cdbd6c3 backport of: AvoidDuplicateLiteralRule now has 'skipAnnotations' boolean property
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6004 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-11 16:41:42 +00:00
Xavier Le Vourch bbad2dfbc2 preparing 4.2.1 release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6001 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-09 19:34:58 +00:00
Xavier Le Vourch ce49bdd986 Added file encoding option to CPD GUI, which already existed for the command line and Ant
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@6000 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-09 16:00:10 +00:00
Ryan Gustafson d61aa6189f Remove unintentionally copied line.
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5997 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-09 01:07:23 +00:00
Xavier Le Vourch 1593b8037d bin scripts: cygwin-run.sh removed, only cpd, designer and pmd scripts should be in binary release
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5996 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-09 00:05:21 +00:00
Xavier Le Vourch e659268f29 standard unix scripts can be used with cygwin
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5995 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 23:55:58 +00:00
Xavier Le Vourch e4fa5f88fe support for extra languages in cpd.sh
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5994 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 23:44:19 +00:00
Xavier Le Vourch 84cad6c1c4 retroweaver version was not correct in java14/bin scripts
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5993 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 23:34:59 +00:00
Ryan Gustafson 7a3d8ceb9a Update RuleSetWriter to handle non-Apache TRAX implementations, add an option to not use XML Namespaces
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5992 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 23:21:45 +00:00
Xavier Le Vourch 159cbfa9e9 ruleset.dtd and ruleset_xml_schema.xsd added to jar file in rulesets directory
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5990 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-08 21:58:07 +00:00
Xavier Le Vourch 89b1d699bf Fixed classpath issue in pmdOnPmd target
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5983 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 01:31:58 +00:00
Xavier Le Vourch 76a293d720 Fixed classpath issue in pmd target
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5981 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-07 01:17:05 +00:00
Romain Pelisse 4378fd6bdf Fixed bug 1932242 - EmptyMethodInAbstractClassShouldBeAbstract false +
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5952 51baf565-9d33-0410-a72c-fc3788e3496d
2008-04-02 16:47:36 +00:00
Ryan Gustafson 4d127404d3 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/branches/pmd/4.2.x@5942 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-28 22:45:43 +00:00
Xavier Le Vourch e84d41bebb '41' and '42' shortcuts for rulesets added
git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/branches/pmd/4.2.x@5933 51baf565-9d33-0410-a72c-fc3788e3496d
2008-03-26 21:31:19 +00:00
3720 changed files with 201414 additions and 185080 deletions

No files matched your search

-12
View File
@@ -1,12 +0,0 @@
target/
bin/
.project
.classpath
.checkstyle
.pmd
.ruleset
.settings/
*.iml
.idea
*.patch
*/src/site/site.xml
-405
View File
File diff suppressed because it is too large. Load diff
-12
View File
@@ -1,12 +0,0 @@
PMD
This product is licensed under a BSD-style license;
for more info see http://pmd.sourceforge.net/license.html or LICENSE
Part of this product (mostly the package net.sourceforge.pmd.lang.vm)
is licensed under the Apache License, Version 2.0;
for more info see http://www.apache.org/licenses/LICENSE-2.0 or LICENSE
Part of this product (part of pmd-scala)
is licensed under the GNU Lesser General Public License, Version 3 or later
for more info see http://www.gnu.org/licenses/lgpl.txt or LICENSE
-27
View File
@@ -1,27 +0,0 @@
[![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,41 @@
package net.sourceforge.pmd.util.viewer;
import net.sourceforge.pmd.util.viewer.gui.MainFrame;
/**
* viewer's starter
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class Viewer {
/**
* starts the viewer
*
* @param args arguments
*/
public static void main(String[] args) {
new MainFrame();
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:41 tomcopeland
* Initial revision
*
* Revision 1.2 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,147 @@
package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.ast.Node;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.util.viewer.gui.menu.ASTNodePopupMenu;
import net.sourceforge.pmd.util.viewer.model.ASTModel;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent;
import net.sourceforge.pmd.util.viewer.model.ViewerModelListener;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;
import java.awt.BorderLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.LinkedList;
/**
* tree panel GUI
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class ASTPanel
extends JPanel
implements ViewerModelListener, TreeSelectionListener {
private ViewerModel model;
private JTree tree;
/**
* constructs the panel
*
* @param model model to attach the panel to
*/
public ASTPanel(ViewerModel model) {
this.model = model;
init();
}
private void init() {
model.addViewerModelListener(this);
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), NLS.nls("AST.PANEL.TITLE")));
setLayout(new BorderLayout());
tree = new JTree((TreeNode) null);
tree.addTreeSelectionListener(this);
tree.addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger()) {
TreePath path =
tree.getClosestPathForLocation(e.getX(), e.getY());
tree.setSelectionPath(path);
JPopupMenu menu =
new ASTNodePopupMenu(model, (SimpleNode) path.getLastPathComponent());
menu.show(tree, e.getX(), e.getY());
}
}
});
add(new JScrollPane(tree), BorderLayout.CENTER);
}
/**
* @see ViewerModelListener#viewerModelChanged(ViewerModelEvent)
*/
public void viewerModelChanged(ViewerModelEvent e) {
switch (e.getReason()) {
case ViewerModelEvent.CODE_RECOMPILED:
tree.setModel(new ASTModel(model.getRootNode()));
break;
case ViewerModelEvent.NODE_SELECTED:
if (e.getSource() != this) {
LinkedList list = new LinkedList();
for (
Node node = (Node) e.getParameter(); node != null;
node = node.jjtGetParent())
list.addFirst(node);
TreePath path = new TreePath(list.toArray());
tree.setSelectionPath(path);
tree.scrollPathToVisible(path);
}
break;
}
}
/**
* @see javax.swing.event.TreeSelectionListener#valueChanged(javax.swing.event.TreeSelectionEvent)
*/
public void valueChanged(TreeSelectionEvent e) {
model.selectNode((SimpleNode) e.getNewLeadSelectionPath().getLastPathComponent(), this);
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.5 2005/02/16 15:46:05 mikkey
* javadoc fixes
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.3 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.2 2003/09/23 07:52:16 bgr
* menus added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,35 @@
package net.sourceforge.pmd.util.viewer.gui;
/**
* contains action command constants
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public interface ActionCommands {
String COMPILE_ACTION = "Compile";
String EVALUATE_ACTION = "Evaluate";
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.3 2004/12/22 20:52:12 tomcopeland
* Fixing some stuff PMD found
*
* Revision 1.2 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,105 @@
package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent;
import net.sourceforge.pmd.util.viewer.model.ViewerModelListener;
import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.BorderLayout;
import java.util.Vector;
/**
* A panel showing XPath expression evaluation results
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class EvaluationResultsPanel
extends JPanel
implements ViewerModelListener {
private ViewerModel model;
private JList list;
/**
* constructs the panel
*
* @param model model to refer to
*/
public EvaluationResultsPanel(ViewerModel model) {
super(new BorderLayout());
this.model = model;
init();
}
private void init() {
model.addViewerModelListener(this);
list = new JList();
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (list.getSelectedValue() != null) {
model.selectNode((SimpleNode) list.getSelectedValue(), EvaluationResultsPanel.this);
}
}
});
add(new JScrollPane(list), BorderLayout.CENTER);
}
/**
* @see ViewerModelListener#viewerModelChanged(ViewerModelEvent)
*/
public void viewerModelChanged(ViewerModelEvent e) {
switch (e.getReason()) {
case ViewerModelEvent.PATH_EXPRESSION_EVALUATED:
if (e.getSource() != this) {
list.setListData(new Vector(model.getLastEvaluationResults()));
}
break;
case ViewerModelEvent.CODE_RECOMPILED:
list.setListData(new Vector(0));
break;
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.5 2005/02/16 15:46:34 mikkey
* javadoc fixes
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
*/
@@ -0,0 +1,172 @@
package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.ast.ParseException;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent;
import net.sourceforge.pmd.util.viewer.model.ViewerModelListener;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* viewer's main frame
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class MainFrame
extends JFrame
implements ActionListener, ActionCommands, ViewerModelListener {
private ViewerModel model;
private SourceCodePanel sourcePanel;
private ASTPanel astPanel;
private XPathPanel xPathPanel;
private JButton compileBtn;
private JButton evalBtn;
private JLabel statusLbl;
/**
* constructs and shows the frame
*/
public MainFrame() {
super(NLS.nls("MAIN.FRAME.TITLE"));
init();
}
private void init() {
model = new ViewerModel();
model.addViewerModelListener(this);
sourcePanel = new SourceCodePanel(model);
astPanel = new ASTPanel(model);
xPathPanel = new XPathPanel(model);
getContentPane().setLayout(new BorderLayout());
JSplitPane editingPane =
new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, sourcePanel, astPanel);
editingPane.setResizeWeight(0.5d);
JPanel interactionsPane = new JPanel(new BorderLayout());
interactionsPane.add(xPathPanel, BorderLayout.SOUTH);
interactionsPane.add(editingPane, BorderLayout.CENTER);
getContentPane().add(interactionsPane, BorderLayout.CENTER);
compileBtn = new JButton(NLS.nls("MAIN.FRAME.COMPILE_BUTTON.TITLE"));
compileBtn.setActionCommand(COMPILE_ACTION);
compileBtn.addActionListener(this);
evalBtn = new JButton(NLS.nls("MAIN.FRAME.EVALUATE_BUTTON.TITLE"));
evalBtn.setActionCommand(EVALUATE_ACTION);
evalBtn.addActionListener(this);
evalBtn.setEnabled(false);
statusLbl = new JLabel();
statusLbl.setHorizontalAlignment(SwingConstants.RIGHT);
JPanel btnPane = new JPanel(new FlowLayout(FlowLayout.LEFT));
btnPane.add(compileBtn);
btnPane.add(evalBtn);
btnPane.add(statusLbl);
getContentPane().add(btnPane, BorderLayout.SOUTH);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
pack();
setSize(800, 600);
setVisible(true);
}
/**
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
long t0, t1;
if (command.equals(COMPILE_ACTION)) {
try {
t0 = System.currentTimeMillis();
model.commitSource(sourcePanel.getSourceCode());
t1 = System.currentTimeMillis();
setStatus(NLS.nls("MAIN.FRAME.COMPILATION.TOOK")+ " "+(t1-t0)+" ms");
} catch (ParseException exc) {
setStatus(NLS.nls("MAIN.FRAME.COMPILATION.PROBLEM")+ " "+exc.toString());
new ParseExceptionHandler(this, exc);
}
} else if (command.equals(EVALUATE_ACTION)) {
try {
t0 = System.currentTimeMillis();
model.evaluateXPathExpression(xPathPanel.getXPathExpression(), this);
t1 = System.currentTimeMillis();
setStatus(NLS.nls("MAIN.FRAME.EVALUATION.TOOK")+ " "+(t1-t0)+" ms");
} catch (Exception exc) {
setStatus(NLS.nls("MAIN.FRAME.EVALUATION.PROBLEM")+ " "+exc.toString());
new ParseExceptionHandler(this, exc);
}
}
}
/**
* Sets the status bar message
* @param string the new status, the empty string will be set if the value is <code>null</code>
*/
private void setStatus(String string) {
if (string == null)
string = "";
statusLbl.setText(string);
}
/**
* @see ViewerModelListener#viewerModelChanged(ViewerModelEvent)
*/
public void viewerModelChanged(ViewerModelEvent e) {
evalBtn.setEnabled(model.hasCompiledTree());
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.6 2005/02/16 15:47:01 mikkey
* javadoc fixes
*
* Revision 1.5 2004/12/13 14:46:11 tomcopeland
* Applied, thanks Miguel!
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.2 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,112 @@
package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* handles parsing exceptions
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class ParseExceptionHandler
extends JDialog
implements ActionListener {
private Exception exc;
private JTextArea errorArea;
private JButton okBtn;
/**
* creates the dialog
*
* @param parent dialog's parent
* @param exc exception to be handled
*/
public ParseExceptionHandler(JFrame parent, Exception exc) {
super(parent, NLS.nls("COMPILE_ERROR.DIALOG.TITLE"), true);
this.exc = exc;
init();
}
private void init() {
errorArea = new JTextArea();
errorArea.setEditable(false);
errorArea.setText(exc.getMessage() + "\n");
getContentPane().setLayout(new BorderLayout());
JPanel messagePanel = new JPanel(new BorderLayout());
messagePanel.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createRaisedBevelBorder(),
BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
NLS.nls("COMPILE_ERROR.PANEL.TITLE"))));
messagePanel.add(new JScrollPane(errorArea), BorderLayout.CENTER);
getContentPane().add(messagePanel, BorderLayout.CENTER);
JPanel btnPane = new JPanel(new FlowLayout(FlowLayout.RIGHT));
okBtn = new JButton(NLS.nls("COMPILE_ERROR.OK_BUTTON.CAPTION"));
okBtn.addActionListener(this);
btnPane.add(okBtn);
getRootPane().setDefaultButton(okBtn);
getContentPane().add(btnPane, BorderLayout.SOUTH);
pack();
setLocationRelativeTo(getParent());
setVisible(true);
}
/**
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
if (e.getSource() == okBtn) {
dispose();
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.2 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,119 @@
package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent;
import net.sourceforge.pmd.util.viewer.model.ViewerModelListener;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultHighlighter;
import java.awt.BorderLayout;
import java.awt.Color;
/**
* source code panel
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class SourceCodePanel
extends JPanel
implements ViewerModelListener {
private ViewerModel model;
private JTextArea sourceCodeArea;
public SourceCodePanel(ViewerModel model) {
this.model = model;
init();
}
private void init() {
model.addViewerModelListener(this);
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), NLS.nls("SOURCE.PANEL.TITLE")));
setLayout(new BorderLayout());
sourceCodeArea = new JTextArea();
add(new JScrollPane(sourceCodeArea), BorderLayout.CENTER);
}
/**
* retrieves the string representation of the source code
*
* @return source code's string representation
*/
public String getSourceCode() {
return sourceCodeArea.getText();
}
/**
* @see ViewerModelListener#viewerModelChanged(ViewerModelEvent)
*/
public void viewerModelChanged(ViewerModelEvent e) {
if (e.getReason() == ViewerModelEvent.NODE_SELECTED) {
final SimpleNode node = (SimpleNode) e.getParameter();
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
sourceCodeArea.getHighlighter().removeAllHighlights();
if (node == null) {
return;
}
int startOffset =
(sourceCodeArea.getLineStartOffset(node.getBeginLine() - 1) +
node.getBeginColumn()) - 1;
int end =
(sourceCodeArea.getLineStartOffset(node.getEndLine() - 1) +
node.getEndColumn());
sourceCodeArea.getHighlighter().addHighlight(startOffset, end,
new DefaultHighlighter.DefaultHighlightPainter(new Color(79, 237, 111)));
sourceCodeArea.moveCaretPosition(startOffset);
} catch (BadLocationException exc) {
throw new IllegalStateException(exc.getMessage());
}
}
});
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.5 2005/02/16 15:47:27 mikkey
* javadoc fixes
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,115 @@
package net.sourceforge.pmd.util.viewer.gui;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.model.ViewerModelEvent;
import net.sourceforge.pmd.util.viewer.model.ViewerModelListener;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import java.awt.Dimension;
/**
* Panel for the XPath entry and editing
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class XPathPanel
extends JTabbedPane
implements ViewerModelListener {
private ViewerModel model;
private JTextArea xPathArea;
/**
* Constructs the panel
*
* @param model model to refer to
*/
public XPathPanel(ViewerModel model) {
super(JTabbedPane.BOTTOM);
this.model = model;
init();
}
private void init() {
model.addViewerModelListener(this);
xPathArea = new JTextArea();
setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), NLS.nls("XPATH.PANEL.TITLE")));
add(new JScrollPane(xPathArea), NLS.nls("XPATH.PANEL.EXPRESSION"));
add(new EvaluationResultsPanel(model), NLS.nls("XPATH.PANEL.RESULTS"));
setPreferredSize(new Dimension(-1, 200));
}
/**
* retrieves the XPath expression typed into the text area
*
* @return XPath expression
*/
public String getXPathExpression() {
return xPathArea.getText();
}
/**
* @see ViewerModelListener#viewerModelChanged(ViewerModelEvent)
*/
public void viewerModelChanged(ViewerModelEvent e) {
switch (e.getReason()) {
case ViewerModelEvent.PATH_EXPRESSION_APPENDED:
if (e.getSource() != this) {
xPathArea.append((String) e.getParameter());
}
setSelectedIndex(0);
break;
case ViewerModelEvent.CODE_RECOMPILED:
setSelectedIndex(0);
break;
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.5 2005/02/16 15:47:48 mikkey
* javadoc fixes
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.3 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.2 2003/09/23 07:52:16 bgr
* menus added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,63 @@
package net.sourceforge.pmd.util.viewer.gui.menu;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import javax.swing.*;
/**
* context sensetive menu for the AST Panel
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class ASTNodePopupMenu
extends JPopupMenu {
private ViewerModel model;
private SimpleNode node;
public ASTNodePopupMenu(ViewerModel model, SimpleNode node) {
this.model = model;
this.node = node;
init();
}
private void init() {
add(new SimpleNodeSubMenu(model, node));
addSeparator();
add(new AttributesSubMenu(model, node));
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:43 tomcopeland
* Initial revision
*
* Revision 1.5 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.4 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.3 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.2 2003/09/23 20:34:33 tomcopeland
* Fixed some stuff PMD found
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/23 07:52:16 bgr
* menus added
*
*/
@@ -0,0 +1,73 @@
package net.sourceforge.pmd.util.viewer.gui.menu;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.jaxen.Attribute;
import net.sourceforge.pmd.jaxen.AttributeAxisIterator;
import net.sourceforge.pmd.util.viewer.model.AttributeToolkit;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import java.text.MessageFormat;
/**
* contains menu items for the predicate creation
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class AttributesSubMenu
extends JMenu {
private ViewerModel model;
private SimpleNode node;
public AttributesSubMenu(ViewerModel model, SimpleNode node) {
super(MessageFormat.format(NLS.nls("AST.MENU.ATTRIBUTES"), new Object[]{node.toString()}));
this.model = model;
this.node = node;
init();
}
private void init() {
AttributeAxisIterator i = new AttributeAxisIterator(node);
while (i.hasNext()) {
Attribute attribute = (Attribute) i.next();
add(new XPathFragmentAddingItem(attribute.getName() + " = " + attribute.getValue(), model,
AttributeToolkit.constructPredicate(attribute)));
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:43 tomcopeland
* Initial revision
*
* Revision 1.5 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.4 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.3 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.2 2003/09/23 20:34:34 tomcopeland
* Fixed some stuff PMD found
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/23 07:52:16 bgr
* menus added
*
*/
@@ -0,0 +1,76 @@
package net.sourceforge.pmd.util.viewer.gui.menu;
import net.sourceforge.pmd.ast.Node;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import net.sourceforge.pmd.util.viewer.util.NLS;
import javax.swing.*;
import java.text.MessageFormat;
/**
* submenu for the simple node itself
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class SimpleNodeSubMenu
extends JMenu {
private ViewerModel model;
private SimpleNode node;
/**
* constructs the submenu
*
* @param model model to which the actions will be forwarded
* @param node menu's owner
*/
public SimpleNodeSubMenu(ViewerModel model, SimpleNode node) {
super(MessageFormat.format(NLS.nls("AST.MENU.NODE.TITLE"), new Object[]{node.toString()}));
this.model = model;
this.node = node;
init();
}
private void init() {
StringBuffer buf = new StringBuffer(200);
for (Node temp = node; temp != null; temp = temp.jjtGetParent()) {
buf.insert(0, "/" + temp.toString());
}
add(new XPathFragmentAddingItem(NLS.nls("AST.MENU.NODE.ADD_ABSOLUTE_PATH"), model, buf.toString()));
add(new XPathFragmentAddingItem(NLS.nls("AST.MENU.NODE.ADD_ALLDESCENDANTS"), model,
"//" + node.toString()));
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:43 tomcopeland
* Initial revision
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/23 07:52:16 bgr
* menus added
*
*/
@@ -0,0 +1,70 @@
package net.sourceforge.pmd.util.viewer.gui.menu;
import net.sourceforge.pmd.util.viewer.model.ViewerModel;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* adds the given path fragment to the XPath expression upon action
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class XPathFragmentAddingItem
extends JMenuItem
implements ActionListener {
private ViewerModel model;
private String fragment;
/**
* constructs the item
*
* @param caption menu item's caption
* @param model model to refer to
* @param fragment XPath expression fragment to be added upon action
*/
public XPathFragmentAddingItem(String caption, ViewerModel model, String fragment) {
super(caption);
this.model = model;
this.fragment = fragment;
addActionListener(this);
}
/**
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
model.appendToXPathExpression(fragment, this);
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.4 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.3 2004/04/15 18:21:58 tomcopeland
* Cleaned up imports with new version of IDEA; fixed some deprecated Ant junx
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/23 07:52:16 bgr
* menus added
*
*/
@@ -0,0 +1,125 @@
package net.sourceforge.pmd.util.viewer.model;
import net.sourceforge.pmd.ast.SimpleNode;
import javax.swing.event.TreeModelEvent;
import javax.swing.event.TreeModelListener;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;
import java.util.Vector;
/**
* Model for the AST Panel Tree component
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class ASTModel
implements TreeModel {
private SimpleNode root;
private Vector listeners = new Vector(1);
/**
* creates the tree model
*
* @param root tree's root
*/
public ASTModel(SimpleNode root) {
this.root = root;
}
/**
* @see javax.swing.tree.TreeModel#getChild(java.lang.Object, int)
*/
public Object getChild(Object parent, int index) {
return ((SimpleNode) parent).jjtGetChild(index);
}
/**
* @see javax.swing.tree.TreeModel#getChildCount(java.lang.Object)
*/
public int getChildCount(Object parent) {
return ((SimpleNode) parent).jjtGetNumChildren();
}
/**
* @see javax.swing.tree.TreeModel#getIndexOfChild(java.lang.Object,
* java.lang.Object)
*/
public int getIndexOfChild(Object parent, Object child) {
SimpleNode node = ((SimpleNode) parent);
for (int i = 0; i < node.jjtGetNumChildren(); i++)
if (node.jjtGetChild(i).equals(child)) {
return i;
}
return -1;
}
/**
* @see javax.swing.tree.TreeModel#isLeaf(java.lang.Object)
*/
public boolean isLeaf(Object node) {
return ((SimpleNode) node).jjtGetNumChildren() == 0;
}
/**
* @see javax.swing.tree.TreeModel#getRoot()
*/
public Object getRoot() {
return root;
}
/**
* @see javax.swing.tree.TreeModel#valueForPathChanged(javax.swing.tree.TreePath,
* java.lang.Object)
*/
public void valueForPathChanged(TreePath path, Object newValue) {
throw new UnsupportedOperationException();
}
/**
* @see javax.swing.tree.TreeModel#addTreeModelListener(javax.swing.event.TreeModelListener)
*/
public void addTreeModelListener(TreeModelListener l) {
listeners.add(l);
}
/**
* @see javax.swing.tree.TreeModel#removeTreeModelListener(javax.swing.event.TreeModelListener)
*/
public void removeTreeModelListener(TreeModelListener l) {
listeners.remove(l);
}
protected void fireTreeModelEvent(TreeModelEvent e) {
for (int i = 0; i < listeners.size(); i++) {
((TreeModelListener) listeners.elementAt(i)).treeNodesChanged(e);
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.3 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
*/
@@ -0,0 +1,53 @@
package net.sourceforge.pmd.util.viewer.model;
import net.sourceforge.pmd.jaxen.Attribute;
/**
* A toolkit for vaious attribute translations
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class AttributeToolkit {
/**
* formats a value for it's usage in XPath expressions
*
* @param attribute atribute which value should be formatted
* @return formmated value
*/
public static String formatValueForXPath(Attribute attribute) {
return "'" + attribute.getValue() + "'";
}
/**
* constructs a predicate from the given attribute
*
* @param attribute attribute to be formatted as predicate
* @return predicate
*/
public static String constructPredicate(Attribute attribute) {
return "[@" + attribute.getName() + "=" +
formatValueForXPath(attribute) + "]";
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.2 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/23 07:52:16 bgr
* menus added
*
*/
@@ -0,0 +1,142 @@
package net.sourceforge.pmd.util.viewer.model;
import net.sourceforge.pmd.ast.SimpleNode;
import javax.swing.tree.TreeNode;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
/**
* provides the adapter for the tree model
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class SimpleNodeTreeNodeAdapter
implements TreeNode {
private SimpleNode node;
private List children;
private SimpleNodeTreeNodeAdapter parent;
/**
* constructs the node
*
* @param node underlying AST's node
*/
public SimpleNodeTreeNodeAdapter(SimpleNodeTreeNodeAdapter parent, SimpleNode node) {
this.parent = parent;
this.node = node;
}
/**
* retrieves the underlying node
*
* @return AST node
*/
public SimpleNode getSimpleNode() {
return node;
}
/**
* @see javax.swing.tree.TreeNode#getChildAt(int)
*/
public TreeNode getChildAt(int childIndex) {
checkChildren();
return (TreeNode) children.get(childIndex);
}
/**
* @see javax.swing.tree.TreeNode#getChildCount()
*/
public int getChildCount() {
checkChildren();
return children.size();
}
/**
* @see javax.swing.tree.TreeNode#getParent()
*/
public TreeNode getParent() {
return parent;
}
/**
* @see javax.swing.tree.TreeNode#getIndex(javax.swing.tree.TreeNode)
*/
public int getIndex(TreeNode node) {
checkChildren();
return children.indexOf(node);
}
/**
* @see javax.swing.tree.TreeNode#getAllowsChildren()
*/
public boolean getAllowsChildren() {
return true;
}
/**
* @see javax.swing.tree.TreeNode#isLeaf()
*/
public boolean isLeaf() {
checkChildren();
return children.size() == 0;
}
/**
* @see javax.swing.tree.TreeNode#children()
*/
public Enumeration children() {
return Collections.enumeration(children);
}
/**
* checks the children and creates them if neccessary
*/
private void checkChildren() {
if (children == null) {
children = new ArrayList(node.jjtGetNumChildren());
for (int i = 0; i < node.jjtGetNumChildren(); i++) {
children.add(new SimpleNodeTreeNodeAdapter(this, (SimpleNode) node.jjtGetChild(i)));
}
}
}
/**
* @see java.lang.Object#toString()
*/
public String toString() {
return node.toString();
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:41 tomcopeland
* Initial revision
*
* Revision 1.3 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,180 @@
package net.sourceforge.pmd.util.viewer.model;
import net.sourceforge.pmd.TargetJDK1_4;
import net.sourceforge.pmd.ast.ASTCompilationUnit;
import net.sourceforge.pmd.ast.ParseException;
import net.sourceforge.pmd.ast.SimpleNode;
import net.sourceforge.pmd.jaxen.DocumentNavigator;
import org.jaxen.BaseXPath;
import org.jaxen.JaxenException;
import org.jaxen.XPath;
import java.io.StringReader;
import java.util.List;
import java.util.Vector;
/**
* The model for the viewer gui
* <p/>
* <p/>
* This is the model part of MVC
* </p>
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class ViewerModel {
private Vector listeners;
private SimpleNode rootNode;
private List evaluationResults;
/**
* constructs the model
*/
public ViewerModel() {
listeners = new Vector(5);
}
/**
* Retrieves AST's root node
*
* @return AST's root node
*/
public SimpleNode getRootNode() {
return rootNode;
}
/**
* commits source code to the model.
* <p/>
* <p/>
* all existing source will be replaced
* </p>
*
* @param source source to be commited
*/
public void commitSource(String source) {
ASTCompilationUnit compilationUnit = new TargetJDK1_4().createParser(new StringReader(source)).CompilationUnit();
rootNode = compilationUnit;
fireViewerModelEvent(new ViewerModelEvent(this, ViewerModelEvent.CODE_RECOMPILED));
}
/**
* determines wheteher the model has a compiled tree at it's disposal
*
* @return true if there is an AST, false otherwise
*/
public boolean hasCompiledTree() {
return rootNode != null;
}
/**
* evaluates the given XPath expression against the current tree
*
* @param xPath XPath expression to be evaluated
* @param evaluator object which requests the evaluation
*/
public void evaluateXPathExpression(String xPath, Object evaluator)
throws ParseException, JaxenException {
XPath xpath = new BaseXPath(xPath, new DocumentNavigator());
evaluationResults = xpath.selectNodes(rootNode);
fireViewerModelEvent(new ViewerModelEvent(evaluator, ViewerModelEvent.PATH_EXPRESSION_EVALUATED));
}
/**
* retrieves the results of last evaluation
*
* @return a list containing the nodes selected by the last XPath expression
* evaluation
*/
public List getLastEvaluationResults() {
return evaluationResults;
}
/**
* selects the given node in the AST
*
* @param node node to be selected
* @param selector object which requests the selection
*/
public void selectNode(SimpleNode node, Object selector) {
fireViewerModelEvent(new ViewerModelEvent(selector, ViewerModelEvent.NODE_SELECTED, node));
}
/**
* appends the given fragment to the XPath expression
*
* @param pathFragment fragment to be added
* @param appender object that is trying to append the fragment
*/
public void appendToXPathExpression(String pathFragment, Object appender) {
fireViewerModelEvent(new ViewerModelEvent(appender, ViewerModelEvent.PATH_EXPRESSION_APPENDED, pathFragment));
}
/**
* adds a listener to the model
*
* @param l listener to be added
*/
public void addViewerModelListener(ViewerModelListener l) {
listeners.add(l);
}
/**
* removes the lisetener from the model
*
* @param l listener to be removed
*/
public void removeViewerModelListener(ViewerModelListener l) {
listeners.remove(l);
}
/**
* notifes all listener of a change in the model
*
* @param e change's reason
*/
protected void fireViewerModelEvent(ViewerModelEvent e) {
for (int i = 0; i < listeners.size(); i++) {
((ViewerModelListener) listeners.elementAt(i)).viewerModelChanged(e);
}
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.5 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.4 2004/04/12 17:35:09 tomcopeland
* Cleaned up imports
*
* Revision 1.3 2004/04/12 17:23:29 tomcopeland
* Moving all explicit JavaParser creations over to a factory-ish sort of thing. This makes the version of the parser explicit rather than assumed.
*
* Revision 1.2 2003/09/23 20:51:06 tomcopeland
* Cleaned up imports
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.3 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.2 2003/09/23 07:52:16 bgr
* menus added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,112 @@
package net.sourceforge.pmd.util.viewer.model;
/**
* The event which will be sent every time the model changes
* <p/>
* <p/>
* Note: the instances will be immutable
* </p>
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class ViewerModelEvent {
/**
* reason in the case of code recompilation
*/
public static final int CODE_RECOMPILED = 1;
/**
* reason in the case of node selection
*/
public static final int NODE_SELECTED = 2;
/**
* reason in the case of path extension
*/
public static final int PATH_EXPRESSION_APPENDED = 3;
/**
* reason in the case of path expression evaluation
*/
public static final int PATH_EXPRESSION_EVALUATED = 4;
private Object source;
private int reason;
private Object parameter;
/**
* Creates an event
*
* @param source event's source
* @param reason event's reason
*/
public ViewerModelEvent(Object source, int reason) {
this(source, reason, null);
}
/**
* Creates an event
*
* @param source event's source
* @param reason event's reason
* @param parameter parameter object
*/
public ViewerModelEvent(Object source, int reason, Object parameter) {
this.source = source;
this.reason = reason;
this.parameter = parameter;
}
/**
* retrieves the reason for event's occurance
*
* @return event's reason
*/
public int getReason() {
return reason;
}
/**
* retrieves the object which caused the event
*
* @return object that casused the event
*/
public Object getSource() {
return source;
}
/**
* retrieves event's parameter
*
* @return event's parameter
*/
public Object getParameter() {
return parameter;
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.2 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.3 2003/09/24 00:40:35 bgr
* evaluation results browsing added
*
* Revision 1.2 2003/09/23 07:52:16 bgr
* menus added
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,39 @@
package net.sourceforge.pmd.util.viewer.model;
/**
* identiefie a listener of the ViewerModel
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public interface ViewerModelListener {
/**
* DOCUMENT ME!
*
* @param e DOCUMENT ME!
*/
void viewerModelChanged(ViewerModelEvent e);
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.3 2004/12/22 20:52:12 tomcopeland
* Fixing some stuff PMD found
*
* Revision 1.2 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -0,0 +1,34 @@
##########################################################################
# english string translations for the viewer
#
##########################################################################
# Main Frame
MAIN.FRAME.TITLE = AST Viewer
MAIN.FRAME.COMPILE_BUTTON.TITLE = Compile
MAIN.FRAME.EVALUATE_BUTTON.TITLE = Evaluate XPath Expression
MAIN.FRAME.COMPILATION.TOOK = Compilation took
MAIN.FRAME.COMPILATION.PROBLEM = Compilation problem:
MAIN.FRAME.EVALUATION.TOOK = Evaluation took
MAIN.FRAME.EVALUATION.PROBLEM = Evaluation problem:
# Source Panel
SOURCE.PANEL.TITLE = Source code
# Tree Panel
AST.PANEL.TITLE = Abstract Syntax Tree
AST.MENU.ATTRIBUTES = Add predicate from {0}'a attributes
AST.MENU.NODE.TITLE = Add {0} to the XPath expression
AST.MENU.NODE.ADD_ABSOLUTE_PATH = Add with absolute path
AST.MENU.NODE.ADD_ALLDESCENDANTS = Add all descentands of this type
# XPath Panel
XPATH.PANEL.TITLE = XPath
XPATH.PANEL.EXPRESSION = Expression
XPATH.PANEL.RESULTS = Results
# Compile Error dialog
COMPILE_ERROR.DIALOG.TITLE = Compilation error
COMPILE_ERROR.PANEL.TITLE = Error message
COMPILE_ERROR.OK_BUTTON.CAPTION = Ok
@@ -0,0 +1,49 @@
package net.sourceforge.pmd.util.viewer.util;
import java.util.ResourceBundle;
/**
* helps with internationalization
*
* @author Boris Gruschko ( boris at gruschko.org )
* @version $Id$
*/
public class NLS {
private final static ResourceBundle bundle;
static {
bundle =
ResourceBundle.getBundle("net.sourceforge.pmd.util.viewer.resources.viewer_strings");
}
/**
* translates the given key to the message
*
* @param key key to be translated
* @return translated string
*/
public static String nls(String key) {
return bundle.getString(key);
}
}
/*
* $Log$
* Revision 1.1 2005/08/15 19:51:42 tomcopeland
* Initial revision
*
* Revision 1.2 2004/09/27 19:42:52 tomcopeland
* A ridiculously large checkin, but it's all just code reformatting. Nothing to see here...
*
* Revision 1.1 2003/09/23 20:32:42 tomcopeland
* Added Boris Gruschko's new AST/XPath viewer
*
* Revision 1.1 2003/09/24 01:33:03 bgr
* moved to a new package
*
* Revision 1.1 2003/09/22 05:21:54 bgr
* initial commit
*
*/
@@ -1,36 +0,0 @@
<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>
@@ -1,17 +0,0 @@
<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>
@@ -1,270 +0,0 @@
<?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>
@@ -1,73 +0,0 @@
<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>
-191
View File
@@ -1,191 +0,0 @@
<?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</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>pmd-build/0.9</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>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.4</version>
</plugin>
</plugins>
</build>
<properties>
<mavenVersion>3.0.3</mavenVersion>
</properties>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.1</version>
</dependency>
<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>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.3</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</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-project-info-reports-plugin</artifactId>
<version>2.8</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.4</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<rulesets>
<ruleset>${basedir}/../pmd-core/src/main/resources/rulesets/internal/dogfood.xml</ruleset>
</rulesets>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.13</version>
<configuration>
<configLocation>${basedir}/../pmd-core/etc/checkstyle-config.xml</configLocation>
<suppressionsFile>${basedir}/../pmd-core/etc/checkstyle-suppressions.xml</suppressionsFile>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
-47
View File
@@ -1,47 +0,0 @@
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>
Loaded 30 of 3720 files, more files were not shown because too many files have changed in this diff. Show more