Compare commits

...
Author SHA1 Message Date
Andreas Dangel 12758ef777 [maven-release-plugin] prepare release pmd_releases/5.4.4 2017-01-28 13:15:10 +01:00
Andreas Dangel 3648ca7545 Prepare pmd release 5.4.4 2017-01-28 13:07:35 +01:00
Andreas Dangel ea0e687140 Update release script to automatically set the default download for sf 2017-01-28 12:57:01 +01:00
Andreas Dangel 2cce2cc206 Merge branch 'issue-1495' into pmd/5.4.x 2017-01-28 11:46:09 +01:00
Andreas Dangel 6899c63597 Fixes #1495 [java] UnnecessaryLocalBeforeReturn with assert 2017-01-28 11:45:59 +01:00
Andreas Dangel 25f62ae558 Merge branch 'issue-1448' into pmd/5.4.x 2017-01-28 10:43:35 +01:00
Andreas Dangel 7fbb304c8f java: ImmutableFieldRule - use enum 2017-01-28 10:43:17 +01:00
Andreas Dangel fa3a9b0d66 java: ImmutableFieldRule - take usages inside lambdas into account
Fixes #1448 ImmutableField Rule: Private field in inner class gives false positive[java] ImmutableField: Private field in inner class gives false positive with lambdas
2017-01-28 10:38:49 +01:00
Juan Martín Sotuyo Dodero 3486f84a49 Merge branch 'update-pom-desc' into pmd/5.4.x 2017-01-27 18:20:36 -03:00
Juan Martín Sotuyo Dodero 2fb2a2529b Update pom
- Simplify / update project description. No HTML, since it's not rendered anywhere.
 - Use my personal email as contact info
2017-01-27 18:19:27 -03:00
Andreas Dangel d7ae6bb245 Merge branch 'update-pom' into pmd/5.4.x 2017-01-27 20:33:54 +01:00
Andreas Dangel d32d81f078 Update URLs to issue manager, organization, ci build, mailing lists 2017-01-27 20:33:18 +01:00
Andreas Dangel 1b4cd381b4 Add Juan Martín Sotuyo Dodero as developer 2017-01-27 20:32:11 +01:00
Andreas Dangel 4032e9ba51 Merge branch 'issue-208' into pmd/5.4.x
Closes #211 (rebased onto pmd/5.4.x)
2017-01-27 20:00:53 +01:00
Andreas Dangel 5081c89763 Update changelog, references #208 2017-01-27 20:00:44 +01:00
Juan Martín Sotuyo Dodero c53e1790e1 [java] Allow more than 1 annotation in local classes
- This fixes #208
2017-01-27 20:00:08 +01:00
Andreas Dangel 926d1c3fbc Merge branch 'issue-206' into pmd/5.4.x
Closes #210 (rebased onto pmd/5.4.x)
2017-01-27 19:39:47 +01:00
Andreas Dangel 904223c2e3 Update changelog, references #206 2017-01-27 19:39:39 +01:00
Juan Martín Sotuyo Dodero 455b1c4ded Fix grammar for annotation members
- The lookahead (3 tokens) was too small, and without reaching the opening
    parenthesis assumed it was parsing a method and not a field.
 - Using a larger lookahead solves the issue.
 - Fixes #206
2017-01-27 19:38:48 +01:00
Andreas Dangel aff9fc90ef Merge branch 'issue-207' into pmd/5.4.x
Closes #209 (rebased onto pmd/5.4.x)
2017-01-27 19:12:03 +01:00
Andreas Dangel 78e31f7cbf Update changelog, references #207 2017-01-27 19:11:53 +01:00
Juan Martín Sotuyo Dodero 33fd84d521 [java] Support generics in method references
- Fixes #207
 - Extend the Java grammar to support generics in
    method references: `Type::<Generic>method`
2017-01-27 19:10:42 +01:00
Andreas Dangel c63347508e Merge branch 'issue-202' into pmd/5.4.x
Closes #205 (rebased onto pmd/5.4.x)
2017-01-27 17:31:53 +01:00
Andreas Dangel e45da2b427 Update changelog 2017-01-27 17:31:18 +01:00
Juan Martín Sotuyo Dodero 47137e3789 Improve docs on ConsecutiveAppendsShouldReuse
- This should help with people having doubts for this rule such as #202
    and http://stackoverflow.com/questions/37672785/how-can-i-improve-performance-if-append-is-called-on-stringbuffer-or-stringb
 - Fixes #202
2017-01-27 17:30:13 +01:00
Andreas Dangel 07887ede1d Merge branch 'issue-199' into pmd/5.4.x
Closes #203 (rebased onto pmd/5.4.x)
2017-01-27 16:45:28 +01:00
Andreas Dangel 6b1d00639a Update changelog 2017-01-27 16:44:12 +01:00
Juan Martín Sotuyo Dodero 420c6d45a3 Fixes #199 - False positives with ternary operator
- I deected a couple of extra related issues with ternary operators which are now fixed.
2017-01-27 16:42:24 +01:00
Andreas Dangel 470bbb3c65 Merge branch 'issue-213' into pmd/5.4.x
Fixes #213
Closes #198 (rebased onto pmd/5.4.x)
2017-01-27 12:04:18 +01:00
Andreas Dangel 472e9a9f55 Update changelog 2017-01-27 12:03:24 +01:00
Juan Martín Sotuyo Dodero c2d22a1bdf Make Mark's code snippet lazy
- This greatly reduces the memory footprint during analysis,
    addressing part of the issues raised ay #185
 - Rendering is still done to a single String which is then either printed
    to STDOUT or a file, this stiill needs refactoring.
2017-01-27 12:01:46 +01:00
Andreas Dangel 9d0a6b7f4b Merge branch 'pr-190' into pmd/5.4.x
Closes #190 (rebased onto pmd/5.4.x)
2017-01-22 19:24:59 +01:00
Andreas Dangel 8201ba0a06 Update changelog 2017-01-22 19:24:48 +01:00
Juan Martín Sotuyo Dodero 3caa71b94b Resolve #180 - refactor pmd processors
- SourceCodeProcessor now consistently calls rule sets start / end
    if cache is not up to date
 - Both Mono and MultiThread Processors rely on PmdRunnable, just using
    different execution strategies
 - This also fixes https://sourceforge.net/p/pmd/bugs/1511/
2017-01-22 19:19:21 +01:00
Andreas Dangel c4ce057709 Merge remote-tracking branch 'origin/pmd/5.4.x' into pmd/5.4.x 2017-01-21 15:35:37 +01:00
Andreas Dangel 96a4b7dc4e Merge branch 'unit-test-for-pr-170' into pmd/5.4.x 2017-01-21 11:59:21 +01:00
Andreas Dangel ba260e753c Adjust unit test to verify console encoding of XML formatter 2017-01-21 11:58:59 +01:00
Andreas Dangel 4c1890d56c Add unit test to verify encoding of XML formatter 2017-01-21 11:58:59 +01:00
Juan Martín Sotuyo Dodero cc5ce5cdf9 Update changelog 2017-01-20 09:53:08 -03:00
Juan Martín Sotuyo Dodero 216e10637f Merge branch 'pr-200' into pmd/5.4.x 2017-01-20 09:16:54 -03:00
Juan Martín Sotuyo Dodero 525542c9fa Checkstyle fixes 2017-01-20 09:12:22 -03:00
Maikel Steneker 1681b05222 Added test case for template strings in Ecmascript. 2017-01-20 09:11:45 -03:00
Bram Stappers f801b30e70 Added template string token to EcmaScript 5 language definition. 2017-01-20 09:11:36 -03:00
Andreas Dangel ea19f8acee Merge branch 'changelog-for-1556' into pmd/5.4.x 2017-01-20 11:02:52 +01:00
Andreas Dangel f669c6c253 Update changelog 2017-01-20 11:01:32 +01:00
Juan Martín Sotuyo Dodero ad32501f36 Merge branch 'formatter-docs' into pmd/5.4.x 2017-01-10 11:07:57 -03:00
Juan Martín Sotuyo Dodero c8b38c83ca Update changelog 2017-01-10 11:07:32 -03:00
Juan Martín Sotuyo Dodero bbba3aa608 Add documentation on formatter encoding 2017-01-10 10:50:14 -03:00
Juan Martín Sotuyo Dodero 60c329b07a Merge branch 'pr-170' into pmd/5.4.x 2017-01-10 10:05:23 -03:00
pyxide 43a38d3144 Console encoding only when interactive 2017-01-10 09:54:44 -03:00
pyxide d7c503bee4 checkstyle fixes 2017-01-10 09:54:44 -03:00
pyxide 958f8df5f5 Reflection detection code for console encoding
Note: calling the static native method `String Console.encoding()` returns the current console encoding, even if `System.console()` is null because the console is not interactive (pipe or redirection).
2017-01-10 09:54:44 -03:00
pyxide 89600bfcc4 checkstyle fixes 2017-01-10 09:54:44 -03:00
pyxide abf65acb63 Bug fix and enhanced console output encoding
- due to some rewriting without testing, the encoding property was not added to the renderer properties.
- better console encoding: use system property `sun.stdout.encoding` in interactive console, and `file.encoding` in piped or redirected output
2017-01-10 09:54:44 -03:00
pyxide 4c71b0da4a checkstyle fixes 2017-01-10 09:54:44 -03:00
pyxide 368313fd8f Update Formatter.java 2017-01-10 09:54:44 -03:00
pyxide 74583d003a Ant Task Formatter encoding issue with XMLRenderer
Hi,

The writers in the Ant task's formatter uses the default platform's encoding (for instance cp1252 on Western Windows) and the XMLRenderer sets the default XML encoding to UTF-8. This may lead to incorrect XML encoding, detected for instance when the XML file is sent to a XSLT task.
This goes undetected as long as the characters in the XML file are in the ASCII subset, which is frequently the case with code, usually in plain Latin language. In my case, the issue was raised because of the localized formatting of some line numbers greater than 999, due to localized thousand separator 0xA0, which is out of the ASCII subset.

I modified the Formatter class to always use a charset for writers. When no encoding is specified, UTF-8 is used instead of the default platform's encoding.

I strongly recommend to *always set the encoding parameter* of the formatter element. It should be reflected as so in the Ant Task documentation.

```xml
<pmd encoding="cp1252"> <!-- source encoding -->
  <formatter type="xml" toFile="pmd.xml">
    <param name="encoding" value="UTF-8" /> <!-- report encoding -->
  </formatter>
  <fileset dir="src/main/java">
    <include name="**/*.java"/>
  </fileset>
</pmd>
```
Note: when digging into sourceforge issues for similar bugs, I found [Bug 877: Output with encoding CP1252](https://sourceforge.net/p/pmd/bugs/877/) . Not the same task, but the same symptoms, probably the same cause ?
2017-01-10 09:54:44 -03:00
Andreas Dangel b9e5901b12 Merge branch 'bug-1556' into pmd/5.4.x 2017-01-08 13:52:25 +01:00
Andreas Dangel c0e1c3e731 Slightly improve performance of XPath Rule UseLocaleWithCaseConversions 2017-01-08 13:51:44 +01:00
Andreas Dangel af3ad2bc02 Fixes #1556 [java] UseLocaleWithCaseConversions does not works with ResultSet (false negative) 2017-01-08 12:12:56 +01:00
Andreas Dangel f825cdb1db Merge branch 'bug-177' into pmd/5.4.x
Fixes #177
2017-01-06 10:17:34 +01:00
Andreas Dangel af9d78c01a Update changelog 2017-01-06 10:16:45 +01:00
Andreas Dangel 767c9aae79 Bugfix singular field + lambda 2017-01-06 10:07:19 +01:00
Andreas Dangel ba7a7a2f8d Merge branch 'pr-162' into pmd/5.4.x
Closes #162 (rebased onto pmd/5.4.x)
2017-01-03 11:45:28 +01:00
Juan Martín Sotuyo Dodero 6283316e51 Avoid redundant method calls and improve codebase
- Avoid making calls within for loops, specially costly ones
    such as `getQualifiedTypeNames`
 - Don't create lists when they are empty.
 - Create lists of proper size to avoid resizing / oversizing
 - I'm seeing a ~5% improvement. We are reaching the point were noise
    makes it hard to detect improvements. We should attack GC cycles soon.
2017-01-03 11:41:33 +01:00
Andreas Dangel e5dbeb800b Merge branch 'pr-159' into pmd/5.4.x
Closes #159 (rebased onto pmd/5.4.x)
2017-01-03 10:21:50 +01:00
Andreas Dangel c6afa6ca26 Update changelog 2017-01-03 10:21:33 +01:00
Juan Martín Sotuyo Dodero 54db0ffbd9 [java] UnnecessaryFullyQualifiedNameRule handles same file class conflicts
- This resolves [#1555](https://sourceforge.net/p/pmd/bugs/1555/)
 - If a class is defined in the same file that conflicts with an import,
    it's not considered a violation
2017-01-03 10:18:29 +01:00
Juan Martín Sotuyo Dodero 66b6b8df19 Merge branch 'changelog' into pmd/5.4.x 2016-12-13 13:26:42 -03:00
Juan Martín Sotuyo Dodero 454fddb09d Revamp changelog format
- Make it a little more marketing friendly
2016-12-13 13:25:01 -03:00
Andreas Dangel a7b89a8c47 Merge branch 'pr-141' into pmd/5.4.x
Closes #141 (rebased for pmd/5.4.x)
2016-12-10 10:15:45 +01:00
Andreas Dangel 48e803392a Update changelog 2016-12-10 10:14:00 +01:00
Juan Martín Sotuyo Dodero 28a24dec2a [java] Speedup PreserveStackTrace by over 7X
- By avoiding to look at all variable declarators we can greatly improve
    analysis speed without loosing accurancy
2016-12-10 10:13:37 +01:00
Andreas Dangel 637b82bce9 Merge branch 'pr-140' into pmd/5.4.x
Closes #140 (rebased onto pmd/5.4.x)
2016-12-09 09:49:17 +01:00
Andreas Dangel a250974b29 Update changelog 2016-12-09 09:45:25 +01:00
Juan Martín Sotuyo Dodero f4e727d274 [java] Make CloneMethodMustImplementCloneable over 500x faster
- This was an excruciatingly slow rule, the slowest by far of all PMD
 - We speed it up by:
    * checking early if we are analyzing a `clone()` method to cut the AST tree
    * making better use of type information available
    * only performing additional checks when we know we can't rely on
       available type information
2016-12-09 09:44:23 +01:00
Juan Martín Sotuyo Dodero 795d437cd4 Merge branch 'pr-154' into pmd/5.4.x 2016-12-07 14:28:06 -03:00
Juan Martín Sotuyo Dodero 2fbe0b977a Update changelog 2016-12-07 14:26:58 -03:00
Sebastian Ratz 61e0fc5875 [java] Fix #1547: UnusedImports: Adjust regex to support underscores 2016-12-07 14:14:07 -03:00
Juan Martín Sotuyo Dodero 68546d1907 Merge branch 'pr-152' into pmd/5.4.x 2016-12-07 13:24:21 -03:00
Juan Martín Sotuyo Dodero 6096bb9c98 Update changelog 2016-12-07 13:17:59 -03:00
Felix Otto 9f1f63ffe6 fixes #1552 [java] continue does not require break
Similar to RETURN after a CONTINUE statement break is not required in a
case section
2016-12-07 13:10:23 -03:00
Andreas Dangel 6a75353da3 Merge branch 'issue-1546' into pmd/5.4.x 2016-11-26 18:16:04 +01:00
Juan Martín Sotuyo Dodero 9460758e69 Update changelog 2016-11-26 18:14:27 +01:00
Juan Martín Sotuyo Dodero 7e3546c130 UnnecessaryFullyQualifiedName can detect conflicts
- Fixes https://sourceforge.net/p/pmd/bugs/1546/
2016-11-26 18:13:10 +01:00
Andreas Dangel a5d7df9929 Merge branch 'pr-130' into pmd/5.4.x 2016-11-26 17:08:05 +01:00
Juan Martín Sotuyo Dodero 1b5135f360 Update changelog 2016-11-26 17:07:31 +01:00
Juan Martín Sotuyo Dodero eca1f7c8ef Remove synchronization from RuleContext 2016-11-26 17:07:05 +01:00
Juan Martín Sotuyo Dodero 87f26e57e7 Use a LRU cache in SaxonXPathRuleQuery 2016-11-26 17:07:05 +01:00
Juan Martín Sotuyo Dodero 49e3de4a06 Allow concurrency in AttributeAxisIterator 2016-11-26 17:03:32 +01:00
Andreas Dangel 68b41d3bc9 Merge branch 'pr-128' into pmd/5.4.x 2016-11-26 11:06:02 +01:00
Juan Martín Sotuyo Dodero b5ca7baa9a Ensure className is never null 2016-11-26 11:04:29 +01:00
Juan Martín Sotuyo Dodero 810760e3a6 Update changelog 2016-11-26 11:04:29 +01:00
Juan Martín Sotuyo Dodero 19a8d0d060 Minor optimizations to type resolution 2016-11-26 11:04:00 +01:00
Andreas Dangel d395ddca53 Merge branch 'pr-127' into pmd/5.4.x 2016-11-26 10:30:35 +01:00
Andreas Dangel 716b628062 Update changelog 2016-11-26 10:30:01 +01:00
Juan Martín Sotuyo Dodero 95101fddaf Don't look twice for the same variables
- This reduces calls to all scope resolution methods
2016-11-26 10:29:02 +01:00
Juan Martín Sotuyo Dodero cd5dcd335d Merge branch 'pr-129' into pmd/5.4.x 2016-11-22 14:03:38 -03:00
Juan Martín Sotuyo Dodero c88c1a02d4 Update changelog 2016-11-22 14:02:58 -03:00
sergey 5cf9a4d665 [plsql] fixed multiline SELECT parse
fixed multiline SELECT parse. Parsing skips SELECT statements to the ';'
delimiter or end of line. If statement terminated by the end of line,
next line starting from the middle of SELECT statement will fail to
parse. For example,
SELECT 1
INTO V
FROM DUAL;
will fail.
2016-11-22 13:49:35 -03:00
sergey ec13ff1662 missing change in PLSQLParserVisitorAdapter
missing change in PLSQLParserVisitorAdapter
2016-11-22 13:49:22 -03:00
sergey 90862cc993 Added correct parse of IS [NOT] NULL
fixed crash of parsing following code (from unittest):
IF V_BUF IS NULL THEN
null;
end if;
2016-11-22 13:49:16 -03:00
Andreas Dangel 87c460bb55 Merge branch 'pr-126' into pmd/5.4.x 2016-11-20 18:28:20 +01:00
Andreas Dangel 051f50e932 Update changelog 2016-11-20 18:27:45 +01:00
Juan Martín Sotuyo Dodero 28e2f11003 Avoid creating a new String to qualify types
- This is now slightly faster, which for a method that gets called
    over 1 million times on large projects is significant.
 - We should still look for ways to reduce the number of calls to this
    method.
2016-11-20 18:27:06 +01:00
Andreas Dangel 8b9431b43a Merge branch 'bug-1518' into pmd/5.4.x 2016-11-20 18:00:08 +01:00
Andreas Dangel 4d8dcf3443 Fixes #1518 [xml] Error while processing xml file with ".webapp" in the file or directory name 2016-11-20 17:55:35 +01:00
Andreas Dangel ed07ff259c Prepare next development version 2016-11-04 21:58:29 +01:00
Andreas Dangel e78f80416a [maven-release-plugin] prepare for next development iteration 2016-11-04 21:01:18 +01:00
Andreas Dangel 5019eb11e4 [maven-release-plugin] prepare release pmd_releases/5.4.3 2016-11-04 21:01:18 +01:00
Andreas Dangel 194167e3c0 Prepare pmd release 5.4.3 2016-11-04 20:53:46 +01:00
Andreas Dangel aa19957cee Merge branch 'pmd/5.3.x' into pmd/5.4.x 2016-11-04 20:31:53 +01:00
Andreas Dangel 253d35a926 Update release script 2016-11-04 20:24:51 +01:00
Andreas Dangel 6007840346 Prepare next development version 2016-11-04 19:58:50 +01:00
Andreas Dangel dcb4ecc674 [maven-release-plugin] prepare for next development iteration 2016-11-04 19:02:30 +01:00
Andreas Dangel 14cdf0b550 [maven-release-plugin] prepare release pmd_releases/5.3.8 2016-11-04 19:02:30 +01:00
Andreas Dangel 40ed778e43 Prepare pmd release 5.3.8 2016-11-04 18:37:25 +01:00
Andreas Dangel 33e1850d6b Merge branch 'bug-1520' into pmd/5.4.x 2016-11-04 16:24:55 +01:00
Andreas Dangel 3a46e9bab2 Merge branch 'bug-1520' into pmd/5.3.x 2016-11-04 16:24:48 +01:00
Andreas Dangel d7b8bae1c9 plsql: adjust code samples, since "ONLY" is now a keyword 2016-11-04 16:21:25 +01:00
Andreas Dangel 4ab1d0cbee Fixes #1520 [plsql] Missing PL/SQL language constructs in parser: Is Of Type, Using 2016-11-04 16:10:07 +01:00
Andreas Dangel 7bfc1b9545 Merge branch 'bug-1532' into pmd/5.4.x 2016-11-04 12:47:21 +01:00
Andreas Dangel 8444b2fea6 Merge branch 'bug-1532' into pmd/5.3.x 2016-11-04 12:46:05 +01:00
Andreas Dangel a9d0de9450 Fixes #1532 [java] CloneMethodMustImplementCloneable: Implemented Interface extends Cloneable 2016-11-04 12:41:57 +01:00
Andreas Dangel 276cff02f8 Merge branch 'bug-1527' into pmd/5.4.x 2016-11-04 10:30:46 +01:00
Andreas Dangel 08b7959557 Merge branch 'bug-1527' into pmd/5.3.x 2016-11-04 10:23:33 +01:00
Andreas Dangel 495dcb5ea9 Fixes #1527 [plsql] PRAGMA AUTONOMOUS_TRANSACTION gives processing errors 2016-11-04 10:19:24 +01:00
Andreas Dangel 8c89ce0d9d Merge branch 'bug-1490' into pmd/5.4.x 2016-11-04 08:49:59 +01:00
Andreas Dangel 15ff7ca944 Fixes #1490 [java] PMD Error while processing - NullPointerException 2016-11-04 08:46:00 +01:00
Andreas Dangel 4ac34af067 Merge branch 'bug-1494' into pmd/5.4.x 2016-11-02 20:22:53 +01:00
Andreas Dangel 0c75e5123c Fixes #1494 [java] SingularField: lombok.Data false positive 2016-11-02 20:22:15 +01:00
Andreas Dangel 5827acb93e Merge branch 'pr-119' into pmd/5.4.x 2016-10-30 19:17:26 +01:00
Andreas Dangel 7339227e9c Merge branch 'pr-119' into pmd/5.3.x 2016-10-30 19:16:52 +01:00
Andreas Dangel 2cc91732ec Update changelog 2016-10-30 19:11:54 +01:00
Frits Jalvingh 4310b36344 Fix PMD issue 1531- endless loop followed by OOM while parsing (PL)SQL 2016-10-30 19:09:11 +01:00
Andreas Dangel 575a5b6547 Add unit test for #1531 [plsql] OOM/Endless loop while parsing (PL)SQL 2016-10-30 19:08:00 +01:00
Andreas Dangel 315ea28d4c Merge branch 'pr-113' into pmd/5.4.x 2016-10-30 17:25:47 +01:00
Andreas Dangel 45dfd29a46 Merge branch 'pr-113' into pmd/5.3.x 2016-10-30 17:25:14 +01:00
Andreas Dangel f8f0afb5b4 Update changelog 2016-10-30 17:21:18 +01:00
Juan Martín Sotuyo Dodero f8d1162886 Fix ClassCastException on SignatureDeclareThrowsException
- Java 8 code allows for things such as
   `class UnmodifiableList<T> implements @Readonly List<@Readonly T> {}`
    where not all token in the ASTImplementsList are ASTClassOrInterfaceType
2016-10-30 17:19:16 +01:00
Andreas Dangel 020170bd76 Add test for #1535 [java] SignatureDeclareThrowsException: ClassCastException with Annotation 2016-10-30 17:18:31 +01:00
Andreas Dangel b0fb0cadc1 Merge branch 'pr-112' into pmd/5.4.x 2016-10-29 18:28:36 +02:00
Andreas Dangel 5c80473108 Merge branch 'pr-112' into pmd/5.3.x 2016-10-29 18:27:56 +02:00
Andreas Dangel 9de0727e43 Update changelog 2016-10-29 18:21:55 +02:00
Andreas Dangel 127a2be871 whitespaces 2016-10-29 18:19:59 +02:00
Juan Martín Sotuyo Dodero 238f6b721b Fix ClassCastException on CloneMethodMustImplementCloneable
- Java 8 code allows for things such as
    `class UnmodifiableList<T> implements @Readonly List<@Readonly T> {}`
    where not all token in the ASTImplementsList are ASTClassOrInterfaceType
2016-10-29 18:19:00 +02:00
Andreas Dangel f4f2402661 Add test for #1534 [java] CloneMethodMustImplementCloneable: ClassCastException with Annotation (java8) 2016-10-29 18:17:59 +02:00
Andreas Dangel b2c59bcbdb Merge branch 'pr-111' into pmd/5.4.x 2016-10-29 17:20:32 +02:00
Andreas Dangel c95051e97d Merge branch 'pr-111' into pmd/5.3.x 2016-10-29 17:19:47 +02:00
Andreas Dangel 7d5be34cd2 Update changelog 2016-10-29 17:16:01 +02:00
Juan Martín Sotuyo Dodero 1e5c1c05ca In Java 8, annotations may appear as first child
- For instance `Object o = new @Interned MyObject();` would fail with a ClassCastException
 - The current code deals with it gracefully
2016-10-29 17:13:33 +02:00
Andreas Dangel 5d11e77208 Add test for #1533 [java] BooleanInstantiation: ClassCastException with Annotation 2016-10-29 17:12:20 +02:00
Andreas Dangel 578d854632 Merge branch 'bug-1530' into pmd/5.4.x 2016-10-16 14:08:13 +02:00
Andreas Dangel 1bc409119c Update changelog, fixes #1530 [java] Parser exception on Java code 2016-10-16 14:07:56 +02:00
Juan Martín Sotuyo Dodero 283dc00a43 Replace syntactic lookahead with semantic one
- They are the same, but JavaCC seems to handle this one better.
2016-10-16 14:01:26 +02:00
Juan Martín Sotuyo Dodero e9f14e4496 Add failing test scenario 2016-10-16 13:59:17 +02:00
Andreas Dangel 1b52e0192a Merge branch 'bug-1529' into pmd/5.4.x 2016-10-01 17:54:11 +02:00
Andreas Dangel 461365f543 Merge branch 'bug-1529' into pmd/5.3.x 2016-10-01 17:49:33 +02:00
Andreas Dangel 8667aea076 Fixes #1529 [java] UnusedImports: The created rule violation has no class name 2016-10-01 17:45:47 +02:00
Andreas Dangel 354b9a9cbc Merge branch 'bug-1522' into pmd/5.4.x 2016-09-25 18:37:38 +02:00
Andreas Dangel b07c2f4409 Merge branch 'bug-1522' into pmd/5.3.x 2016-09-25 18:36:47 +02:00
Andreas Dangel db44bc4745 Fixes #1522 [java] CommentRequired: false positive 2016-09-25 18:32:26 +02:00
Andreas Dangel d294a91ad8 Merge branch 'bug-1506' into pmd/5.4.x 2016-08-07 11:08:22 +02:00
Andreas Dangel 7421f28414 Merge branch 'bug-1506' into pmd/5.3.x 2016-08-07 10:53:32 +02:00
Andreas Dangel cf4938a65b Fixes #1506 [core] When runing any RuleTst, start/end methods not called 2016-08-07 10:44:44 +02:00
Andreas Dangel 5b6580448e #1508 - Only close the classloader if its ours 2016-07-27 19:43:31 +02:00
Andreas Dangel 7578875cbd #1508 - Only close the classloader if its ours 2016-07-26 21:49:33 +02:00
Andreas Dangel 42a5c6a537 Merge branch 'bug-1508' into pmd/5.4.x 2016-07-26 21:42:55 +02:00
Andreas Dangel 229fc57073 Merge branch 'bug-1508' into pmd/5.3.x 2016-07-26 21:39:17 +02:00
Andreas Dangel 65708ef704 Update changelog 2016-07-26 21:39:03 +02:00
Andreas Dangel d76b689c07 Fixes #1508 [core] [java] PMD is leaking file handles
Closes class loader after PMD has processed all files
2016-07-25 21:42:21 +02:00
Andreas Dangel 293731f009 Fixes #1508 [core] [java] PMD is leaking file handles
Closes class loader after ant task is finished
2016-07-25 21:34:40 +02:00
Andreas Dangel 88d1823c2e Fixes #1508 [core] [java] PMD is leaking file handles
Fixes InputStreams and Readers
2016-07-25 21:25:34 +02:00
Andreas Dangel 9240f98cce Merge branch 'pr-103' into pmd/5.4.x 2016-07-07 22:35:26 +02:00
Andreas Dangel 4adbeb04f1 Merge branch 'pr-103' into pmd/5.3.x 2016-07-07 22:34:30 +02:00
Andreas Dangel 648e697ab0 Update changelog 2016-07-07 22:29:30 +02:00
Andreas Dangel 0660097db2 Add unit test for #1501 [java] CyclomaticComplexity rule causes OOM when class reporting is disabled 2016-07-07 22:27:16 +02:00
Frits Jalvingh afc0f25795 Fix for 1501: CyclomaticComplexity rule causes OOM when class reporting is disabled 2016-07-07 22:26:27 +02:00
Andreas Dangel e25bd5e9c1 Merge branch 'bug-1499' into pmd/5.4.x 2016-07-02 16:54:50 +02:00
Andreas Dangel c041f756c2 Merge branch 'bug-1499' into pmd/5.3.x 2016-07-02 16:49:19 +02:00
Andreas Dangel 553cafff6e Fixes #1499 [core] CPD test break PMD 5.5.1 build on Windows 2016-07-02 16:48:46 +02:00
Andreas Dangel c92820eaae Merge branch 'pr-35' into pmd/5.4.x 2016-06-12 18:51:09 +02:00
Andreas Dangel 6efabd6909 Merge branch 'pr-35' into pmd/5.3.x 2016-06-12 18:50:07 +02:00
Andreas Dangel f880d2ab95 Update changelog 2016-06-12 18:47:12 +02:00
Jan van Nunen 63293f8b31 Javascript tokenizer now ignores comment tokens. 2016-06-06 09:31:04 +02:00
Andreas Dangel f87dcb16cc Fix site generation
cherry picked: 8b8bb6d504
2016-05-29 21:07:53 +02:00
Andreas Dangel 1fc6e7afa2 Prepare next development version 2016-05-29 21:00:32 +02:00
Andreas Dangel 4512da8f3f [maven-release-plugin] prepare for next development iteration 2016-05-29 20:04:35 +02:00
Andreas Dangel 5fa4b309ed [maven-release-plugin] prepare release pmd_releases/5.4.2 2016-05-29 20:04:34 +02:00
Andreas Dangel 9daa4ae835 Prepare pmd release 5.4.2 2016-05-29 19:55:25 +02:00
Andreas Dangel be1a996ba5 Merge branch 'bug-1479' into pmd/5.4.x 2016-05-29 18:31:09 +02:00
Andreas Dangel 836af8d493 Merge branch 'bug-1479' into pmd/5.3.x 2016-05-29 18:23:34 +02:00
Andreas Dangel 04f16d7627 Fixes #1479 CloseResource false positive on Statement 2016-05-29 18:20:04 +02:00
Andreas Dangel 8f4a262e8e Merge branch 'bug-1480' into pmd/5.4.x 2016-05-28 16:40:27 +02:00
Andreas Dangel ef0891d527 Merge branch 'bug-1480' into pmd/5.3.x 2016-05-28 16:36:57 +02:00
Andreas Dangel 6afe513225 Fixes #1480 false positive on public modifier used with inner interface in enum 2016-05-28 16:33:10 +02:00
Andreas Dangel dc1d942241 Merge branch 'bug-1481' into pmd/5.4.x 2016-05-28 11:42:01 +02:00
Andreas Dangel d1b9b3bc1f Merge branch 'bug-1481' into pmd/5.3.x 2016-05-28 11:36:55 +02:00
Andreas Dangel 379b0de186 Update changelog 2016-05-28 11:36:41 +02:00
Andreas Dangel e71324e08c Fix unit test for #1481 2016-05-28 11:36:35 +02:00
Andreas Dangel 13f7675b67 Fixes #1481 no problems found results in blank file instead of empty xml 2016-05-28 11:27:22 +02:00
Andreas Dangel a4baf5c2a8 Merge branch 'bug-1484' into pmd/5.4.x 2016-05-21 11:38:18 +02:00
Andreas Dangel 1efdb72ba9 Merge branch 'bug-1484' into pmd/5.3.x 2016-05-21 11:37:28 +02:00
Andreas Dangel 0d20fe7e1c Fixes #1484 UnusedLocalVariable - false positive - parenthesis 2016-05-21 11:37:10 +02:00
Andreas Dangel 6cd0ca309f Merge branch 'issue-1360-ruleset-compatibility' into pmd/5.4.x 2016-05-18 20:57:53 +02:00
Andreas Dangel 58085e1520 Merge branch 'issue-1360-ruleset-compatibility' into pmd/5.3.x 2016-05-18 20:52:39 +02:00
Andreas Dangel f32beeb726 Provide a command line option for #1360 - "-noRuleSetCompatibility" 2016-05-18 20:38:44 +02:00
Andreas Dangel fadd6a9a1c Merge branch 'issue-1360-ruleset-compatibility' into pmd/5.4.x 2016-05-13 19:02:53 +02:00
Andreas Dangel 1816c1708a Merge branch 'issue-1360-ruleset-compatibility' into pmd/5.3.x 2016-05-13 18:58:39 +02:00
Andreas Dangel a8a18e6648 Fixes #1360 Provide backwards compatibility for PMD configuration file
Update changelog
2016-05-13 18:58:23 +02:00
Andreas Dangel 1b65c7fe91 References #1360 Provide backwards combatibility for PMD configuration file
Handle exclusions
2016-05-13 18:53:00 +02:00
Andreas Dangel 44ee51d5a6 References #1360 Provide backwards combatibility for PMD configuration file
Add test cases for excluded rules
2016-05-06 11:08:25 +02:00
Andreas Dangel 15fd444b7a References #1360 Provide backwards combatibility for PMD configuration file 2016-05-06 10:52:43 +02:00
Andreas Dangel 07be0d640f Merge branch 'pmd/5.3.x' into pmd/5.4.x 2016-05-01 00:03:53 +02:00
Andreas Dangel 147662e035 Prepare next development version 2016-04-30 23:54:24 +02:00
Andreas Dangel 2afd30c283 [maven-release-plugin] prepare for next development iteration 2016-04-30 23:15:13 +02:00
Andreas Dangel d89549f994 [maven-release-plugin] prepare release pmd_releases/5.3.7 2016-04-30 23:15:13 +02:00
Andreas Dangel 8b8bb6d504 Fix site generation 2016-04-30 23:03:14 +02:00
Andreas Dangel ef6bb6ed53 Prepare pmd release 5.3.7 2016-04-30 22:03:24 +02:00
Andreas Dangel ad6ae9edb6 Merge branch 'bug-1470' into pmd/5.4.x 2016-04-30 19:23:47 +02:00
Andreas Dangel 7d053d41c2 Merge branch 'bug-1470' into pmd/5.3.x 2016-04-30 19:18:08 +02:00
Andreas Dangel 81378fe8ed Fixes #1470 Error with type-bound lambda 2016-04-30 19:14:46 +02:00
Andreas Dangel 7ee8e28484 Merge branch 'bug-1475' into pmd/5.4.x 2016-04-30 18:40:02 +02:00
Andreas Dangel ce8c4bf1a8 Merge branch 'bug-1475' into pmd/5.3.x 2016-04-30 18:36:44 +02:00
Andreas Dangel 325fcaf5e4 Fixes #1475 False positive of MethodReturnsInternalArray 2016-04-30 18:33:39 +02:00
Andreas Dangel 316a8aa782 Merge branch 'bug-1476' into pmd/5.4.x 2016-04-30 12:12:18 +02:00
Andreas Dangel 361370db5d Merge branch 'bug-1476' into pmd/5.3.x 2016-04-30 12:00:09 +02:00
Andreas Dangel b9b0059797 Fixes #1476 False positive of ArrayIsStoredDirectly 2016-04-30 11:46:29 +02:00
Andreas Dangel edd0eeb9c8 Merge branch 'bug-1471' into pmd/5.4.x 2016-04-23 19:50:22 +02:00
Andreas Dangel baad0f2abe Merge branch 'bug-1471' into pmd/5.3.x 2016-04-23 19:46:07 +02:00
Andreas Dangel 176cc2344d Fix NPEs 2016-04-23 19:43:13 +02:00
Andreas Dangel cb5ac3086e Fixes #1471 False positives for DoubleCheckedLocking 2016-04-23 19:34:32 +02:00
Andreas Dangel 8c7f093a41 Merge branch 'toolchains' into pmd/5.4.x 2016-04-10 17:04:49 +02:00
Andreas Dangel 803d35005a Merge branch 'toolchains' into pmd/5.3.x 2016-04-10 17:03:40 +02:00
Andreas Dangel 6fc617bd11 Java version is now handled by toolchain 2016-04-10 17:03:30 +02:00
Andreas Dangel 6be8547f3e Add maven toolchains 2016-04-10 16:55:25 +02:00
Andreas Dangel a2c344fb54 Merge branch 'bug-1458' into pmd/5.4.x 2016-04-01 21:32:37 +02:00
Andreas Dangel c5691ecf35 Merge branch 'bug-1467' into pmd/5.4.x 2016-04-01 21:30:45 +02:00
Andreas Dangel 93227d1372 Merge branch 'bug-1458' into pmd/5.3.x 2016-04-01 21:08:40 +02:00
Andreas Dangel 5f9114a02a Merge branch 'bug-1467' into pmd/5.3.x 2016-04-01 21:08:20 +02:00
Andreas Dangel 494719d8ea Fixes #1458 Performance degradation scanning large XML files with XPath custom rules 2016-04-01 20:52:38 +02:00
Andreas Dangel 3d84e3af74 Fixes #1467 UseUtilityClass can't correctly check functions with multiple annotations 2016-04-01 19:04:53 +02:00
Andreas Dangel 1e146d0e1d Fix version of swift module 2016-03-29 20:11:31 +02:00
Andreas Dangel 395a40a7ae Merge branch 'pr-33' into pmd/5.4.x 2016-03-29 20:06:23 +02:00
Andreas Dangel cbde6f48ea Merge branch 'pr-33' into pmd/5.3.x 2016-03-29 20:01:12 +02:00
Andreas Dangel c3f98356f8 Move antlr dependency definitions up into parent pom 2016-03-29 19:49:04 +02:00
Andreas Dangel ccd0badd4a Update changelog and docu to add swift 2016-03-29 19:44:50 +02:00
Andreas Dangel 2ce28f0ae3 Merge branch 'tiobe/add_swift_language' of https://github.com/tiobe/pmd into pr-33 2016-03-29 19:21:17 +02:00
Andreas Dangel e58feea9cd Merge branch 'bug-1461-doc' into pmd/5.4.x 2016-03-13 15:29:10 +01:00
Andreas Dangel c571abdb1d Merge branch 'bug-1461-doc' into pmd/5.3.x 2016-03-13 15:28:58 +01:00
Andreas Dangel 0725586b9a Update documentation about thread safety of rules (see #1461) 2016-03-13 15:28:37 +01:00
Andreas Dangel 3dd8156014 Merge branch 'bug-1461' into pmd/5.4.x 2016-03-10 20:23:43 +01:00
Andreas Dangel ccbb372a4f Fix compile error (pmd 5.3.x is on java6) 2016-03-10 20:19:30 +01:00
Andreas Dangel be51afc2b4 Merge branch 'bug-1461' into pmd/5.3.x 2016-03-10 20:18:58 +01:00
Andreas Dangel 5f9e90761d Fixes #1461 Possible threading issue due to PR#75
Update changelog
2016-03-10 20:12:13 +01:00
Andreas Dangel 4a0802a269 Revert "RuleSetFactory Performance Enhancement:-"
This reverts commit 9da51952ef.
2016-03-10 20:11:06 +01:00
Andreas Dangel 3de70426cf Revert "Update changelog, keep backwards compatible createRuleSets methods by overloading"
This reverts commit b753cc5ec5.
2016-03-10 20:10:58 +01:00
Andreas Dangel 54ce3036b2 Add unit test to verify concurrency issue #1461
References pr #75
2016-03-10 20:10:51 +01:00
Jan van Nunen 92678c0c0a Added support for Swift to CPD.
The tokenizer uses the ANTLR4 grammar of the Tailor static analyzer for
Swift. (https://github.com/sleekbyte/tailor)
2016-03-02 11:11:02 +01:00
Andreas Dangel 3d58d913a7 Merge branch 'bug-1464' into pmd/5.4.x 2016-02-28 15:12:30 +01:00
Andreas Dangel 1726c33c19 Merge branch 'bug-1464' into pmd/5.3.x 2016-02-28 15:12:22 +01:00
Andreas Dangel 573186be69 fixes #1464 UnnecessaryFinalModifier false positive on a @SafeVarargs method 2016-02-28 14:22:04 +01:00
Andreas Dangel a81de955c6 Merge branch 'pr-85' into pmd/5.4.x
Closes #85
Note: pr-85 has been rebased onto pmd/5.3.x
2016-02-28 14:05:29 +01:00
Andreas Dangel 090636e2db Merge branch 'pr-85' into pmd/5.3.x
Closes #85
Note: pr-85 has been rebased onto pmd/5.3.x
2016-02-28 14:04:57 +01:00
Andreas Dangel fc35a162d9 Update changelog, whitespaces, improve test case 2016-02-28 14:01:32 +01:00
albfernandez 08fb59180d remove trailing spaces 2016-02-28 13:07:03 +01:00
albfernandez 40bf82244f Fix the fix for #1340 2016-02-28 13:07:03 +01:00
albfernandez 3c0516b86f Fix #1340 UseStringBufferForStringAppends False Positive with ternary
operator (used both in condition and options)
2016-02-28 13:07:03 +01:00
Andreas Dangel 15a82f0ddb Merge branch 'bug-1465' into pmd/5.4.x 2016-02-27 19:37:39 +01:00
Andreas Dangel 32cc07d7cb Merge branch 'bug-1465' into pmd/5.3.x 2016-02-27 19:37:29 +01:00
Andreas Dangel 1c08f94691 fixes #1465 False Positve UnusedImports with javadoc @link 2016-02-27 19:30:16 +01:00
Andreas Dangel 6dbcf77953 Merge branch 'tiobe-tiobe/fix_UTF8_escape_in_OBJC_string_literals' into pmd/5.4.x 2016-02-24 21:53:36 +01:00
Andreas Dangel aab525196c Merge branch 'tiobe-tiobe/fix_UTF8_escape_in_OBJC_string_literals' into pmd/5.3.x 2016-02-24 21:53:16 +01:00
Andreas Dangel 518f1eff6d Update changelog 2016-02-24 21:48:41 +01:00
Jan van Nunen 7915f08bc9 Extended Objective-C grammar to accept UTF-8 escapes (\uXXXX) in string literals. 2016-02-18 13:40:32 +01:00
Andreas Dangel 873b28dd1d Merge branch 'bug-1457' into pmd/5.4.x 2016-02-07 12:38:29 +01:00
Andreas Dangel 84cfa37b94 Merge branch 'bug-1457' into pmd/5.3.x 2016-02-07 12:32:02 +01:00
Andreas Dangel 079ffeb4df fixes #1457 TooManyMethods counts inner class methods 2016-02-07 12:31:49 +01:00
Andreas Dangel 84a20e2082 Merge branch 'bug-1456' into pmd/5.4.x 2016-02-07 12:15:35 +01:00
Andreas Dangel 6509f78448 Merge branch 'bug-1456' into pmd/5.3.x 2016-02-07 12:03:44 +01:00
Andreas Dangel 89ffb56e4e fixes #1456 UnusedFormalParameter should ignore overriding methods 2016-02-07 12:03:30 +01:00
Andreas Dangel df70bc4578 Merge branch 'bug-1424' into pmd/5.4.x 2016-02-01 22:14:49 +01:00
Andreas Dangel cfaaf2f52a fixes #1424 False positive with ternary operator 2016-02-01 22:10:38 +01:00
Andreas Dangel 62da34ccce Merge branch 'bug-1453' into pmd/5.4.x 2016-01-28 22:29:13 +01:00
Andreas Dangel dc7762b910 Merge branch 'bug-1453' into pmd/5.3.x 2016-01-28 22:24:57 +01:00
Andreas Dangel b9f8f2d4fb fixes #1453 Test Class Without Test Cases gives false positive 2016-01-28 22:24:34 +01:00
Andreas Dangel d4c4ab4e7e Merge branch 'bug-1455' into pmd/5.4.x 2016-01-25 10:36:34 +01:00
Andreas Dangel 80c10534b3 Merge branch 'bug-1455' into pmd/5.3.x 2016-01-25 10:32:50 +01:00
Andreas Dangel e6f5380719 fixes #1455 PMD doesn't handle Java 8 explicit receiver parameters
Those parameters are correctly parsed now and can be found
with "//FormalParameter[@ExplicitReceiverParameter='true']"
2016-01-25 10:29:00 +01:00
Andreas Dangel 55685046ac Merge branch 'bug-1449' into pmd/5.4.x 2016-01-24 17:33:28 +01:00
Andreas Dangel e4438ff8a2 Merge branch 'bug-1449' into pmd/5.3.x 2016-01-24 17:29:22 +01:00
Andreas Dangel 44a8c0defe fixes #1449 false positive when casting a variable to short 2016-01-24 17:18:50 +01:00
Andreas Dangel a42cb1b0c2 Merge branch 'pr-31' into pmd/5.4.x 2016-01-21 20:30:39 +01:00
Andreas Dangel 314ae4414b Merge branch 'pr-31' into pmd/5.3.x 2016-01-21 20:23:22 +01:00
Andreas Dangel 04527bc4cb Update changelog 2016-01-21 20:23:02 +01:00
Andreas Dangel 82178809fa Merge branch 'detect_file_encoding_using_UTF_BOM' of https://github.com/tiobe/pmd into pr-31 2016-01-21 20:10:22 +01:00
Andreas Dangel 260e777d71 Fix unit test 2016-01-20 22:47:15 +01:00
Andreas Dangel bd64e4fdc6 Merge branch 'pr-30' into pmd/5.4.x 2016-01-20 22:24:08 +01:00
Andreas Dangel 641ab25850 Merge branch 'pr-30' into pmd/5.3.x 2016-01-20 22:21:18 +01:00
Andreas Dangel 8c4d307ddd Refactor command line tests for CPD and create a BaseCPDCLITest class 2016-01-20 22:13:25 +01:00
Andreas Dangel 7a33d59a95 Add unit test for new behavior 2016-01-20 22:08:45 +01:00
Andreas Dangel b9b6e13849 Update changelog 2016-01-20 22:08:28 +01:00
Andreas Dangel 64441c8e93 Merge branch 'tiobe/remove_filefilter_for_files' of https://github.com/tiobe/pmd into pr-30 2016-01-20 21:38:23 +01:00
Andreas Dangel 0cdc14deed Merge branch 'bug-1452' into pmd/5.4.x 2016-01-15 10:42:56 +01:00
Andreas Dangel d76c5b0de6 Merge branch 'bug-1452' into pmd/5.3.x 2016-01-15 10:42:47 +01:00
Andreas Dangel 7bf00118a7 Refactoring AccessorClassGenerationRule 2016-01-15 10:42:19 +01:00
Andreas Dangel 69dbbdfe2d references #81 2016-01-15 10:42:08 +01:00
Andreas Dangel 74805b7a87 Merge branch 'codeclimate-doc' into pmd/5.4.x 2016-01-15 09:54:11 +01:00
Andreas Dangel 699077fc7d Merge branch 'codeclimate-doc' into pmd/5.3.x 2016-01-15 09:54:00 +01:00
Andreas Dangel e8e950ad20 Add codeclimate renderer to the documentation 2016-01-15 09:53:43 +01:00
Jan van Nunen 607606534d Added file encoding detection to CPD. 2016-01-11 13:57:04 +01:00
Andreas Dangel 078db01307 Merge branch 'pr-29' into pmd/5.4.x 2016-01-07 10:58:53 +01:00
Andreas Dangel 207cf4842e Merge branch 'pr-29' into pmd/5.3.x 2016-01-07 10:58:46 +01:00
Andreas Dangel 03411d620e Update changelog 2016-01-07 10:58:33 +01:00
Andreas Dangel 4a90118222 Merge branch 'tiobe/UTF8_BOM_support_for_JSP_tokenizer' of https://github.com/tiobe/pmd into pr-29 2016-01-07 10:58:05 +01:00
Andreas Dangel fda1c719d7 Merge branch 'pr-27' into pmd/5.4.x 2016-01-07 10:56:19 +01:00
Andreas Dangel 907a05670a Merge branch 'pr-27' into pmd/5.3.x 2016-01-07 10:56:09 +01:00
Andreas Dangel eee4bf2550 Update changelog 2016-01-07 10:55:56 +01:00
Andreas Dangel a33e83addc Merge branch 'tiobe/raw-CPP11-literals' of https://github.com/tiobe/pmd into pr-27 2016-01-07 10:55:27 +01:00
Andreas Dangel 2b72dcabf2 Merge branch 'pr-83' into pmd/5.4.x
Closes #83 (rebased)
2016-01-07 10:52:28 +01:00
Andreas Dangel e5a046007a Merge branch 'pr-83' into pmd/5.3.x
Closes #83 (rebased)
2016-01-07 10:51:20 +01:00
Andreas Dangel e08ba3ea30 Update changelog 2016-01-07 10:50:48 +01:00
Bob W. Hogg b2d5342493 Adds new Code Climate-compliant JSON renderer 2016-01-07 10:47:47 +01:00
Andreas Dangel f186d250c3 Merge branch 'pr-80' into pmd/5.4.x
Closes #80 (rebased)
2016-01-07 10:36:55 +01:00
Andreas Dangel f4a3e77185 Merge branch 'pr-80' into pmd/5.3.x
Closes #80 (rebased onto pmd/5.3.x)
2016-01-07 10:36:37 +01:00
Andreas Dangel d783bdcfb0 Update changelog 2016-01-07 10:36:25 +01:00
Wim Deblauwe 8bb07ad5f5 Update mvn-plugin.md
The correct name of the property to configure linking to source code is `linkXRef` and not `linkXref`. If you use `<linkXRef>false</linkXRef>` then the warning "[WARNING] Unable to locate Source XRef to link to - DISABLED" is no longer printed. See also http://stackoverflow.com/a/18390459/40064
2016-01-07 10:35:12 +01:00
Andreas Dangel 38e1ff9c41 Merge branch 'pr-79' into pmd/5.4.x
Closes #79
2016-01-07 10:25:36 +01:00
Andreas Dangel 1dbf832d24 Merge branch 'pr-79' into pmd/5.3.x
Closes #79
2016-01-07 10:25:30 +01:00
Andreas Dangel 985ed57c52 Update changelog 2016-01-07 10:20:47 +01:00
Matt Benson f67dbb85f6 do not flag public static void main(String[]) as UseVarargs; ignore @Override for UseVarargs 2016-01-07 10:16:26 +01:00
Jan van Nunen 10db98bfee Removed file filter for files that are explicitly specified on the CPD command line using the '--files' command line option. 2015-12-10 16:47:58 +01:00
Jan van Nunen a735fb057e Added support for files with UTF-8 BOM to JSP tokenizer. 2015-12-10 16:24:51 +01:00
Jan van Nunen c099d50397 Added support for Raw String Literals (C++11). 2015-12-10 16:15:40 +01:00
Andreas Dangel a483ff353b Prepare next development version 2015-12-04 22:25:44 +01:00
Andreas Dangel 9c60faeab5 [maven-release-plugin] prepare for next development iteration 2015-12-04 21:24:48 +01:00
Andreas Dangel 9a26c74723 [maven-release-plugin] prepare release pmd_releases/5.4.1 2015-12-04 21:24:47 +01:00
Andreas Dangel 3bdd013a5f Prepare pmd release 5.4.1 2015-12-04 21:15:08 +01:00
Andreas Dangel 14510cdc5c Fix pom of pmd-java8 2015-12-04 21:03:58 +01:00
Andreas Dangel 11c091d348 Merge branch 'pmd/5.3.x' into pmd/5.4.x 2015-12-04 21:03:18 +01:00
Andreas Dangel fda6bef16e Prepare next development version 2015-12-04 20:01:31 +01:00
Andreas Dangel 83eceab455 [maven-release-plugin] prepare for next development iteration 2015-12-04 19:15:01 +01:00
Andreas Dangel c141c91612 [maven-release-plugin] prepare release pmd_releases/5.3.6 2015-12-04 19:15:01 +01:00
Andreas Dangel beb07e883f Prepare pmd release 5.3.6 2015-12-04 19:00:54 +01:00
Andreas Dangel 9931a52608 Merge branch 'bug-1434' into pmd/5.4.x 2015-12-03 20:16:21 +01:00
Andreas Dangel 6a3e7ce6ec Merge branch 'bug-1434' into pmd/5.3.x 2015-12-03 20:15:42 +01:00
Andreas Dangel 735b3e59f2 #1434 CommentRequired raises violation on serialVersionUID field 2015-12-03 20:15:25 +01:00
Andreas Dangel a4c131c1bd Merge branch 'bug-1373' into pmd/5.4.x 2015-11-30 10:10:29 +01:00
Andreas Dangel af57d270e4 Merge branch 'bug-1373' into pmd/5.3.x 2015-11-30 10:10:18 +01:00
Andreas Dangel 2452db15f4 #1373 JUnitAssertionsShouldIncludeMessage is no longer compatible with TestNG 2015-11-30 10:05:42 +01:00
Andreas Dangel b74d821714 Merge branch 'bug-1374' into pmd/5.4.x 2015-11-30 09:46:25 +01:00
Andreas Dangel 06cce6055a Merge branch 'bug-1374' into pmd/5.3.x 2015-11-30 09:46:15 +01:00
Andreas Dangel bc9379d9b4 verify #1374 JUnitAssertionsShouldIncludeMessage does not work 2015-11-30 09:35:27 +01:00
Andreas Dangel 663d3ddad0 Merge branch 'bug-1446' into pmd/5.4.x 2015-11-30 09:31:06 +01:00
Andreas Dangel 9075c66a3a Merge branch 'bug-1446' into pmd/5.3.x 2015-11-30 09:30:56 +01:00
Andreas Dangel 2a52757aa5 #1446 False positive with JUnit4TestShouldUseBeforeAnnotation when TestNG is used 2015-11-30 09:26:13 +01:00
Andreas Dangel 9086dbb8b9 Merge branch 'java-7' into pmd/5.4.x 2015-11-29 22:02:27 +01:00
Andreas Dangel d563eb30fc Java 7 changes and some compiler warnings fixed 2015-11-29 19:55:13 +01:00
Andreas Dangel fd2dcddc44 Java 7 changes and some compiler warnings fixed 2015-11-25 22:06:18 +01:00
Andreas Dangel d7b5ef8884 Java 7 changes and some compiler warnings fixed 2015-11-20 11:32:18 +01:00
Andreas Dangel 1b64519690 Java 7 changes 2015-11-20 11:32:18 +01:00
Andreas Dangel 14af9fd1cb Merge branch 'bug-1436' into pmd/5.4.x 2015-11-20 11:23:18 +01:00
Andreas Dangel da50aa33ea Merge branch 'bug-1436' into pmd/5.3.x 2015-11-20 11:23:12 +01:00
Andreas Dangel b4c2a51781 #1436 UnnecessaryFullyQualifiedName false positive on clashing static imports with enums 2015-11-20 11:23:01 +01:00
Andreas Dangel 6754865e0b Merge branch 'bug-1422' into pmd/5.4.x 2015-11-20 10:10:55 +01:00
Andreas Dangel 988931c43d #1422 UselessQualifiedThis: False positive with Java 8 Function 2015-11-20 10:05:49 +01:00
Andreas Dangel 4a0853060f Merge branch 'bug-1431' into pmd/5.4.x 2015-11-19 22:11:51 +01:00
Andreas Dangel 07aa990ccc Merge branch 'bug-1431' into pmd/5.3.x 2015-11-19 22:11:40 +01:00
Andreas Dangel d621707e2f #1431 SuspiciousEqualsMethodName false positive 2015-11-19 22:06:51 +01:00
Andreas Dangel 3282a84652 Merge branch 'bug-1438' into pmd/5.4.x 2015-11-19 21:45:45 +01:00
Andreas Dangel 1c7d1a1f1d Merge branch 'bug-1438' into pmd/5.3.x 2015-11-19 21:41:21 +01:00
Andreas Dangel f2ec1be93f #1438 UseNotifyAllInsteadOfNotify gives false positive 2015-11-19 21:35:50 +01:00
Andreas Dangel adf3e231af Merge branch 'bug-1443' into pmd/5.4.x 2015-11-16 21:39:16 +01:00
Andreas Dangel aab043787b Merge branch 'bug-1443' into pmd/5.3.x 2015-11-16 21:34:33 +01:00
David Burström 90b1f65ea2 #1443 RedundantFieldInitializer: False positive for small floats 2015-11-16 21:33:51 +01:00
Andreas Dangel 0181f14347 Merge branch 'travis-pull-request-fix' into pmd/5.4.x 2015-11-14 18:09:17 +01:00
Andreas Dangel 41b51c2158 Merge branch 'travis-pull-request-fix' into pmd/5.3.x 2015-11-14 18:09:10 +01:00
Andreas Dangel f1a319d6ee Make sure the pull request validation builds don't fail 2015-11-14 18:08:56 +01:00
Andreas Dangel 30a9309479 Merge branch 'bug-1441' into pmd/5.4.x 2015-11-14 17:56:01 +01:00
Andreas Dangel c8a1307684 Merge branch 'bug-1441' into pmd/5.3.x 2015-11-14 17:54:13 +01:00
Andreas Dangel c9dca8dc92 #1441 PMD: Update documentation how to compile after modularization 2015-11-14 17:53:52 +01:00
Andreas Dangel 0c2f2e5729 Merge branch 'bug-1440' into pmd/5.4.x 2015-11-13 19:14:24 +01:00
Andreas Dangel 0b1fc2b39f Merge branch 'bug-1440' into pmd/5.3.x 2015-11-13 19:09:27 +01:00
Andreas Dangel 02c49ce881 #1440 NPE in AvoidCallingFinalize 2015-11-13 19:05:24 +01:00
Andreas Dangel 7be078a2d8 Merge branch 'pull-request-25' into pmd/5.4.x 2015-10-26 21:00:53 +01:00
Andreas Dangel b0a1223748 Merge branch 'pull-request-25' into pmd/5.3.x 2015-10-26 20:54:39 +01:00
Andreas Dangel ba92715b19 CPD GUI: Add ignoreUsings option 2015-10-26 20:47:34 +01:00
Andreas Dangel 2fa869a868 CPD Ant Task: Add ignoreUsings option 2015-10-26 20:36:07 +01:00
Andreas Dangel 88634a220a Add "--ignore-usings" parameter to CPD commandline for C# 2015-10-25 19:10:18 +01:00
Andreas Dangel 3a7de73d96 Update changelog 2015-10-25 18:57:35 +01:00
Jan van Nunen 7be198aaa3 Added option to exclude C# using directives from duplicated code analysis.
To exclude C# using directives the system property 'ignore_usings=true' has to be specified on the command line with '-Dignore_usings=true'.
2015-10-23 15:48:25 +02:00
Jan van Nunen aa87701ee5 Extended Objective-C grammar to accept Unicode characters in identifiers. 2015-10-23 15:46:38 +02:00
Andreas Dangel 4db5965907 Merge branch 'bug-1430' into pmd/5.4.x 2015-10-17 18:00:48 +02:00
Andreas Dangel 9df4ff15b5 #1430 CommentDefaultAccessModifier triggers on field annotated with @VisibleForTesting 2015-10-17 18:00:37 +02:00
Andreas Dangel 2cff91d187 Merge branch 'amitbitcse-pmd/5.3.x' into pmd/5.4.x 2015-10-16 17:50:42 +02:00
Andreas Dangel 933002de34 Merge branch 'amitbitcse-pmd/5.3.x' into pmd/5.3.x 2015-10-16 17:50:14 +02:00
Andreas Dangel b753cc5ec5 Update changelog, keep backwards compatible createRuleSets methods by overloading 2015-10-16 17:49:45 +02:00
Andreas Dangel e4a244064b Merge branch 'mkorda-patch-2' into pmd/5.4.x 2015-10-16 17:08:04 +02:00
Andreas Dangel 7a7ef4b92e Update changelog 2015-10-16 17:07:53 +02:00
Michal Kordas ad853d14d7 Fix rendering CommentDefaultAccessModifier description as code 2015-10-16 17:05:36 +02:00
Andreas Dangel 71ad5783b7 Merge branch 'travis-fix' into pmd/5.4.x 2015-10-16 16:35:34 +02:00
Andreas Dangel b5706d0726 Merge branch 'travis-fix' into pmd/5.3.x 2015-10-16 16:34:43 +02:00
Andreas Dangel 763bd9a478 travis: only deploy if we have the env vars and if it is not a pull request 2015-10-16 14:27:10 +02:00
Andreas Dangel 0c3c9830e7 Merge branch 'bug-1425' into pmd/5.4.x 2015-10-16 12:30:14 +02:00
Andreas Dangel 7fe60c0747 Merge branch 'bug-1425' into pmd/5.3.x 2015-10-16 12:25:51 +02:00
Andreas Dangel 3393507082 #1425 Invalid XML Characters in Output
XMLRenderer correctly escapes the surrogate characters
AvoidDuplicateLiterals tries to reconstruct original string literal
2015-10-16 12:18:15 +02:00
amitbitcse 9da51952ef RuleSetFactory Performance Enhancement:-
To enhance performance of RuleSetFactory, the RuleSets generated by RuleSetFactory from ruleSetString is set in PMDConfiguration and is checked before generating it again in MonoThreadProcessor, MutliThreadProcessor and PMDRunnable classes.
2015-10-13 17:50:37 +05:30
Andreas Dangel 4e8024e5b1 Merge branch 'bug-1428' into pmd/5.4.x 2015-10-10 19:00:18 +02:00
Andreas Dangel ce73691d5d Merge branch 'bug-1428' into pmd/5.3.x 2015-10-10 18:59:21 +02:00
Andreas Dangel 808943e366 #1428 False positive in UnusedPrivateField when local variable hides member variable 2015-10-10 18:54:31 +02:00
Andreas Dangel 262d154bdb Merge branch 'pr-72' into pmd/5.4.x 2015-10-10 17:40:29 +02:00
Andreas Dangel 63afc1ec94 Merge branch 'pr-72' into pmd/5.3.x 2015-10-10 17:40:13 +02:00
Andreas Dangel d788b6ce74 Update changelog for pr-72 2015-10-10 17:37:58 +02:00
Andreas Dangel 1e0b8cfa21 Merge branch 'pmd/5.3.x' of https://github.com/amitbitcse/pmd into pr-72 2015-10-10 17:22:59 +02:00
Andreas Dangel 4134904aa4 Merge branch 'travis-prevent-building-tags' into pmd/5.4.x 2015-10-10 16:53:40 +02:00
Andreas Dangel 79853cdace Merge branch 'travis-prevent-building-tags' into pmd/5.3.x 2015-10-10 16:53:31 +02:00
Andreas Dangel 2760827dc7 Prevent travis from building release tags 2015-10-10 16:53:19 +02:00
Andreas Dangel c79eff06e8 Merge branch 'bug-1429' into pmd/5.4.x 2015-10-10 16:13:18 +02:00
Andreas Dangel a7a84766bd #1429 Java - Parse Error: Cast in return expression 2015-10-10 16:08:38 +02:00
Andreas Dangel 27fe4f5773 Merge branch 'travis-pull-requests' into pmd/5.4.x 2015-10-10 15:22:30 +02:00
Andreas Dangel 6b60b4be34 Fix travis build failure for pull requests 2015-10-10 15:20:25 +02:00
amitbitcse 1d190605e5 Added capability in Java and JSP parser for tracking tokens. It is often useful to keep track of each node's first and last token so that input can be easily reproduced again. Ref - https://javacc.java.net/doc/JJTree.html 2015-10-06 11:04:22 +05:30
Andreas Dangel 4faf5e4240 Merge branch 'wip-dogfood-test' into pmd/5.4.x 2015-10-05 09:29:21 +02:00
Andreas Dangel 43c1aaa702 Add verification test for dogfood.xml ruleset and fix it
See also commit 0555396978
2015-10-05 09:17:25 +02:00
Andreas Dangel 5112352af0 Prepare next development version 2015-10-04 15:40:38 +02:00
Andreas Dangel d5bf509758 [maven-release-plugin] prepare for next development iteration 2015-10-04 14:39:14 +02:00
Andreas Dangel c21763a5e7 [maven-release-plugin] prepare release pmd_releases/5.4.0 2015-10-04 14:39:13 +02:00
Andreas Dangel 433c602880 Prepare pmd release 5.4.0 2015-10-04 14:31:40 +02:00
Andreas Dangel 2b4a4a6334 Merge branch 'pmd/5.3.x' 2015-10-04 14:15:29 +02:00
Andreas Dangel 84c407f5d2 add src zip file in do-release.sh upload instructions 2015-10-04 14:07:12 +02:00
Andreas Dangel 79e9b7616a Prepare next development version 2015-10-04 13:54:43 +02:00
Andreas Dangel af9f9d477d [maven-release-plugin] prepare for next development iteration 2015-10-04 12:48:25 +02:00
Andreas Dangel f357da73b6 [maven-release-plugin] prepare release pmd_releases/5.3.5 2015-10-04 12:48:25 +02:00
Andreas Dangel 98e0c1f914 Prepare pmd release 5.3.5 2015-10-04 12:40:49 +02:00
Andreas Dangel 52f8329ff9 Reformat changelog to that it works with the doxia markdown renderer 2015-10-04 12:30:29 +02:00
Andreas Dangel ad469d53cb Use released version of pmd-build plugin 2015-10-04 12:23:12 +02:00
Andreas Dangel 193f75925a Fix checkstyle configuration 2015-10-04 12:05:41 +02:00
Andreas Dangel 5ee98b8786 Fix javascript after upgrading rhino library 2015-10-04 12:00:24 +02:00
Andreas Dangel f154d0a2b4 Upgrade maven plugins and dependencies 2015-10-04 11:55:51 +02:00
Andreas Dangel 82a137880b UselessParentheses now exists only in unnecessary 2015-10-04 11:26:16 +02:00
Andreas Dangel c9f623ca7b Remove deprecated rules 2015-10-04 11:12:16 +02:00
Andreas Dangel 6797742497 Improve changelog format 2015-10-04 10:58:45 +02:00
Andreas Dangel b5c2932051 Add unit test for #1414 2015-10-04 10:07:05 +02:00
Andreas Dangel 39cfbc238b #1420 UnusedPrivateField: Ignore fields if using lombok 2015-10-04 09:52:22 +02:00
Andreas Dangel 73fe285b1a #1418 RedundantFieldInitializer false positive with large long value 2015-10-03 17:36:07 +02:00
Andreas Dangel 3bf91a84d6 travis - don't try to deploy pull request builds... 2015-10-03 16:57:16 +02:00
Andreas Dangel 8b80efbd88 Merge branch 'mkordas-patch-1' into pmd/5.3.x 2015-10-03 16:53:42 +02:00
Andreas Dangel 87db2a5736 Update changelog 2015-10-03 16:49:36 +02:00
Michal Kordas 4a395ee8b7 #1410 Improve description of DefaultPackage rule 2015-09-30 22:36:00 +02:00
Andreas Dangel 39d77e849a Add jacoco plugin for code coverage 2015-09-26 18:13:34 +02:00
Andreas Dangel f17cb5f86e Remove clover plugin in favor our jacoco 2015-09-26 18:13:10 +02:00
Andreas Dangel bbd0bf98fd #1414 Command line parameter to disable "failOnViolation" behavior 2015-09-26 17:08:20 +02:00
Andreas Dangel 38741d4638 Improve exit status documentation for PMD and CPD 2015-09-26 16:18:24 +02:00
Andreas Dangel 0ff27aab42 PMD 5.4.0 will use Java 1.7 from now on 2015-09-26 15:36:08 +02:00
Andreas Dangel 1ae4400ec0 Merge branch 'pmd/5.3.x' 2015-09-26 15:25:52 +02:00
Andreas Dangel 98278cfdfc #1413 False positive StringBuffer constructor with ?: int value 2015-09-26 11:08:21 +02:00
Andreas Dangel 145780de9c #1407 UselessParentheses "&" and "+" operator precedence 2015-09-26 10:23:43 +02:00
Andreas Dangel f3da33cca2 #1387 CloseResource has false positive for ResultSet 2015-09-26 09:55:02 +02:00
Andreas Dangel 4cce31418a Add travis.yml - see https://travis-ci.org/pmd/pmd
Cherry picked from master
* 1a110587f0
* 51f17c6010
* 36bc2c2dee
* cbf598c92c
2015-09-26 09:26:43 +02:00
Andreas Dangel cbf598c92c Travis - don't run maven in quiet mode 2015-09-25 20:17:47 +02:00
Andreas Dangel 36bc2c2dee Configure Travis
* email
* cache
* deployment to sonatype-nexus-snapshots
2015-09-25 20:02:55 +02:00
Andreas Dangel 51f17c6010 Add build status to README.md
And update URLs
2015-09-25 12:20:50 +02:00
Andreas Dangel 1a110587f0 Add travis.yml - see https://travis-ci.org/pmd/pmd 2015-09-25 11:50:09 +02:00
Andreas Dangel 8e6ef4c2d9 #1412 UnusedPrivateMethod false positive: Issue #1403 not completely solved
Fix plsql code
2015-09-22 21:55:25 +02:00
Andreas Dangel b965cf45b3 #1412 UnusedPrivateMethod false positive: Issue #1403 not completely solved 2015-09-22 21:55:06 +02:00
Andreas Dangel d8d8a9539f #1409 NullPointerException in InsufficientStringBufferRule 2015-09-20 20:51:09 +02:00
Andreas Dangel 365e7a1f68 #1410 DefaultPackage triggers on field annotated with @VisibleForTesting 2015-09-20 20:24:46 +02:00
Andreas Dangel aa5950fa41 Merge branch 'pmd/5.3.x' into master
# Conflicts:
#	pmd-core/pom.xml
#	pmd-cpp/pom.xml
#	pmd-cs/pom.xml
#	pmd-dist/pom.xml
#	pmd-fortran/pom.xml
#	pmd-go/pom.xml
#	pmd-java/pom.xml
#	pmd-java8/pom.xml
#	pmd-javascript/pom.xml
#	pmd-jsp/pom.xml
#	pmd-matlab/pom.xml
#	pmd-objectivec/pom.xml
#	pmd-php/pom.xml
#	pmd-plsql/pom.xml
#	pmd-python/pom.xml
#	pmd-ruby/pom.xml
#	pmd-scala/pom.xml
#	pmd-test/pom.xml
#	pmd-vm/pom.xml
#	pmd-xml/pom.xml
#	pom.xml
#	src/site/markdown/overview/changelog.md
2015-09-18 14:02:28 +02:00
Andreas Dangel 3fb43a060a Prepare next development version 2015-09-18 13:46:06 +02:00
Andreas Dangel 819611dd23 [maven-release-plugin] prepare for next development iteration 2015-09-18 12:36:07 +02:00
Andreas Dangel 0ffbe97a04 [maven-release-plugin] prepare release pmd_releases/5.3.4 2015-09-18 12:36:06 +02:00
Andreas Dangel 06d77b371a Use release profile PMD_GPG_PROFILE 2015-09-18 12:24:27 +02:00
Andreas Dangel 972eac40f0 Specify gpg.keyname via -Darguments 2015-09-18 11:57:09 +02:00
Andreas Dangel 336c06fb10 Actually use the variables PMD_GPG_KEY and PMD_SF_USER 2015-09-18 11:49:20 +02:00
Andreas Dangel 87803ed27a Prepare pmd release 5.3.4 2015-09-18 11:44:40 +02:00
Andreas Dangel ca2794bf7d Fixes for the release script 2015-09-18 11:40:16 +02:00
Andreas Dangel d921ffe1e3 Add the release shell script 2015-09-18 11:25:30 +02:00
Andreas Dangel 0f48fd501d #1393 PMD hanging during DataflowAnomalyAnalysis 2015-09-18 10:17:01 +02:00
Andreas Dangel e1a41bdf98 #1405 UnusedPrivateMethod false positive?
Don't use the auxclasspath if not provided.
2015-09-17 20:26:07 +02:00
Andreas Dangel ad1ffa5835 #1404 Java8 'Unnecessary use of fully qualified name' in Streams Collector 2015-09-16 22:11:18 +02:00
Andreas Dangel 64012cc0b4 verified #1405 UnusedPrivateMethod false positive? 2015-09-16 21:37:17 +02:00
Andreas Dangel c9b133d634 Update changelog 2015-09-16 08:11:53 +02:00
Andreas Dangel a030255e81 Merge branch 'master' of https://github.com/tiobe/pmd into tiobe-master 2015-09-16 08:08:19 +02:00
Andreas Dangel c7df93d22a More braces for code samples with if 2015-09-15 08:17:11 +02:00
Andreas Dangel ff91c172b0 Update changelog 2015-09-15 08:16:47 +02:00
Andreas Dangel 2500412b14 #1403 False positive UnusedPrivateMethod with JAVA8 2015-09-14 22:36:05 +02:00
Andreas Dangel 9f6190f3b6 #1380 InsufficientStringBufferDeclaration false positive when literal string passed to a lookup service 2015-09-13 10:20:58 +02:00
Andreas Dangel 9e620c2661 #1388 ConstructorCallsOverridableMethodRule doesn't work with params? 2015-09-12 17:56:45 +02:00
Jan van Nunen 5014a51630 Extended Objective-C grammar to accept Unicode characters in identifiers. 2015-09-11 15:17:04 +02:00
Andreas Dangel ac9fd51f84 #1392 SimplifyStartsWith false-negative 2015-09-11 12:22:49 +02:00
Pedro Rijo bbb9b4d9d9 Fix code example
Please, use proper java code style in your own examples. An if statement without brackets? More cases all over the examples
2015-09-11 11:20:53 +01:00
Andreas Dangel 93b4ce9bb4 #1394 dogfood.xml - Unable to exclude rules [UncommentedEmptyMethod] 2015-09-08 20:03:28 +02:00
Andreas Dangel f242c5c5f4 Upgrade maven-pmd-plugin to 3.5 and add pmd execution
The profile "reports" was accidently deactivated by adding other
profiles. Now pmd and checkstyle are executed with all builds.
2015-09-08 19:58:21 +02:00
Andreas Dangel 1984f5ac8a #1395 UnusedPrivateMethod false positive for array element method call 2015-09-08 19:45:49 +02:00
Andreas Dangel b553c52ef5 #1396 PrematureDeclaration lambda false positive 2015-09-07 20:23:10 +02:00
Andreas Dangel 3abfc2fccb #1397 StringToString should ignore method references 2015-09-07 20:01:18 +02:00
Andreas Dangel 100dd09b28 #1398 False positive for GuardLogStatementJavaUtil with Log4j 2015-09-06 11:06:48 +02:00
Andreas Dangel a1ab0d6657 #1399 False positive for VariableNamingConventions with annotation @interface 2015-09-05 19:53:05 +02:00
Andreas Dangel f0dd2b0519 #1400 False positive with JUnit4TestShouldUseBeforeAnnotation 2015-09-05 19:39:31 +02:00
Andreas Dangel 58292bfc38 #1401 False positive for StringBuilder.append called with constructor 2015-09-05 12:10:38 +02:00
Andreas Dangel b0e657a3d8 Merge branch 'pmd/5.3.x' into master 2015-09-04 22:02:40 +02:00
Andreas Dangel bd83821dd9 Fix unit test 2015-09-04 21:58:01 +02:00
Andreas Dangel c0c79e522f #1371 fix unit test 2015-09-04 21:55:16 +02:00
Andreas Dangel 0027fcdd77 Update changelog 2015-09-04 21:55:08 +02:00
José Manuel Rolón abe800dfa9 Fixed InsufficientStringBufferDeclaration error detection.
Summary:
Added new method to obtaint the lenght of strings added after a constructor.
Added new test for this case.

Fix: http://sourceforge.net/p/pmd/bugs/1371/

Test Plan: Run tests.

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12322
2015-09-04 21:53:45 +02:00
Andreas Dangel b95433b059 #1371 fix unit test 2015-09-04 21:48:18 +02:00
Andreas Dangel 18e80d06a1 Update changelog 2015-09-04 21:36:55 +02:00
Andreas Dangel f975ff4a1e Merge branch 'addCheckInsufficientStringBufferDeclarationRule' of https://github.com/Monits/pmd into Monits-addCheckInsufficientStringBufferDeclarationRule 2015-09-04 21:35:35 +02:00
Andreas Dangel 203e39b9b3 Added a new if to check for the append statements after an append contructor.
Summary:
Now the rule check for appends after a contructor call.
Added a new test for this case.
Issue: http://sourceforge.net/p/pmd/bugs/1370/

Test Plan: Run tests.

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12292
2015-09-04 21:34:38 +02:00
Andreas Dangel 735c2e0d4c Update changelog 2015-09-04 21:28:20 +02:00
Andreas Dangel 7a82a527bb Merge branch 'newCheckConsecutiveAppendsShouldReuseRule' of https://github.com/Monits/pmd into Monits-newCheckConsecutiveAppendsShouldReuseRule 2015-09-04 21:27:46 +02:00
Andreas Dangel 922e35453a #1402 Windows-Only: File exclusions are not case insensitive 2015-09-04 21:22:47 +02:00
Andreas Dangel 6e300f0854 #1402 Windows-Only: File exclusions are not case insensitive 2015-09-04 21:21:20 +02:00
Andreas Dangel 944082c53d Revert "Use Path instead of string to check file exclusions to fix windows-only bug where files were not being correctly excluded."
This reverts commit 59fcd70c8d.
2015-09-04 21:11:49 +02:00
Andreas Dangel f964d3329f Update changelog 2015-09-04 20:52:46 +02:00
Andreas Dangel 14a47c82cc Merge branch 'master' of https://github.com/msloan/pmd into msloan-master 2015-09-04 20:51:24 +02:00
Andreas Dangel 22671445e2 #1370 ConsecutiveAppendsShouldReuse not detected properly on StringBuffer
Extended unit test
2015-09-04 20:15:07 +02:00
Andreas Dangel e3357987f2 Update changelog 2015-09-04 20:14:56 +02:00
José Manuel Rolón dd8262cf69 Added new append validation.
Check for an append even when the block first child is a LocalVariableDeclaration.
Added new test to check the validation.

Issue: http://sourceforge.net/p/pmd/bugs/1370/
2015-09-04 20:14:09 +02:00
Andreas Dangel c8990a7977 #1370 ConsecutiveAppendsShouldReuse not detected properly on StringBuffer
Extended unit test
2015-09-04 20:06:55 +02:00
Andreas Dangel e8f7636e3e Update changelog 2015-09-04 19:59:29 +02:00
Andreas Dangel aa49f97b22 Merge branch 'missingCheckConsecutiveAppendsShouldReuse' of https://github.com/Monits/pmd into Monits-missingCheckConsecutiveAppendsShouldReuse 2015-09-04 19:57:23 +02:00
Andreas Dangel c98bdf2f44 Update changelog 2015-09-04 19:41:35 +02:00
Andreas Dangel 443d5094de Merge branch 'fixUselessOverridingMethodRule' of https://github.com/Monits/pmd into Monits-fixUselessOverridingMethodRule 2015-09-04 19:39:58 +02:00
Andreas Dangel 029cc1f779 Update changelog 2015-09-04 19:17:20 +02:00
Andreas Dangel 3ac7a5bcf6 Merge branch 'master' of https://github.com/ghenkes/pmd into ghenkes-master 2015-09-04 19:13:36 +02:00
Andreas Dangel a865a28af6 Update changelog 2015-09-04 19:05:43 +02:00
Andreas Dangel cfe91ac728 Merge branch 'addCloneMethodMustBePublicRule' of https://github.com/Monits/pmd into Monits-addCloneMethodMustBePublicRule 2015-09-04 19:02:05 +02:00
Andreas Dangel d117c9987b Fix list/array out of bounds for CommentDefaultAccessModifierRule and Enums 2015-08-31 20:00:47 +02:00
Andreas Dangel a9a1a37dbf Add snapshot repositories also for plugins 2015-08-31 19:41:51 +02:00
Andreas Dangel ea5bc9daa0 Fix changelog format 2015-08-31 19:32:08 +02:00
Andreas Dangel e69d3174de Use new pmd-build 0.10-SNAPSHOT plugin which documents
the minimum language version of a rule.
2015-08-31 18:20:35 +02:00
Andreas Dangel 36f48c9159 Update changelog, add the new rule to 540.xml 2015-08-31 18:01:03 +02:00
Andreas Dangel 7ea022a230 Merge branch 'addCloneMethodReturnTypeMustMatchClassNameRule' of https://github.com/Monits/pmd into Monits-addCloneMethodReturnTypeMustMatchClassNameRule 2015-08-31 17:54:38 +02:00
José Manuel Rolón 87b3f7d496 Added a new if to check for the append statements after an append contructor.
Summary:
Now the rule check for appends after a contructor call.
Added a new test for this case.
Issue: http://sourceforge.net/p/pmd/bugs/1370/

Test Plan: Run tests.

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12292
2015-08-31 12:50:53 -03:00
José Manuel Rolón ef0c8c9d27 Fixed InsufficientStringBufferDeclaration error detection.
Summary:
Added new method to obtaint the lenght of strings added after a constructor.
Added new test for this case.

Fix: http://sourceforge.net/p/pmd/bugs/1371/

Test Plan: Run tests.

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12322
2015-08-31 12:12:09 -03:00
Matt Sloan 59fcd70c8d Use Path instead of string to check file exclusions to fix windows-only bug where files were not being correctly excluded. 2015-08-24 00:28:12 -07:00
José Manuel Rolón 665f1ec5d1 Added new append validation.
Check for an append even when the block first child is a LocalVariableDeclaration.
Added new test to check the validation.

Issue: http://sourceforge.net/p/pmd/bugs/1370/
2015-08-21 18:14:45 -03:00
José Manuel Rolón 3cf58cb43a Fix statement cast in UselessOverridingMethodRule class.
Summary: Now using the parent Node class to avoid the ClassCastException.

Test Plan: Added new test for the modified class. Run tests

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12213
2015-08-19 17:29:48 -03:00
Damian Techeira d9d02edb06 Add language version attribute
Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Subscribers: jmsotuyo

Differential Revision: http://ph.monits.com/D12205
2015-08-19 09:26:14 -03:00
Henkes 822140337e Change CheckResultSet to allow for the result of the navigation methods to be returned 2015-08-10 15:30:11 -05:00
Andreas Dangel 00a6dd0595 Merge branch 'Monits-addUselessQualifiedThisRule' 2015-08-10 21:14:35 +02:00
Andreas Dangel 72db30c87e Update changelog and add new rule to 540.xml 2015-08-10 21:10:47 +02:00
Andreas Dangel b9339b77c0 Merge branch 'addUselessQualifiedThisRule' of https://github.com/Monits/pmd into Monits-addUselessQualifiedThisRule 2015-08-10 21:05:54 +02:00
Andreas Dangel 1aa46f58ef Merge branch 'Monits-fixUseAssertTrueInsteadOfAssertEqualsRule' 2015-08-10 21:03:28 +02:00
Andreas Dangel 5ca06bb2a1 Update changelog 2015-08-10 20:59:20 +02:00
Andreas Dangel 166057c355 Merge branch 'fixUseAssertTrueInsteadOfAssertEqualsRule' of https://github.com/Monits/pmd into Monits-fixUseAssertTrueInsteadOfAssertEqualsRule 2015-08-10 20:56:54 +02:00
Andreas Dangel 89a3d5dd1e #1384 NullPointerException in ConsecutiveLiteralAppendsRule 2015-08-01 20:28:38 +02:00
Damian Techeira 4a5a80197b Add CloneMethodMustBePublic rule
Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12023
2015-07-31 17:58:05 -03:00
Damian Techeira 445bd2d260 Add CloneMethodReturnTypeMustMatchClassName rule
Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D12031
2015-07-31 17:13:04 -03:00
Andreas Dangel 0bf765be04 Update changelog 2015-07-29 20:16:07 +02:00
Andreas Dangel 0850252bda Merge branch 'addUnnecessaryLiteralBooleanInTernaryOperatorRule' of https://github.com/Monits/pmd into Monits-addUnnecessaryLiteralBooleanInTernaryOperatorRule 2015-07-29 20:09:50 +02:00
Damian Techeira 454be6f1f1 Add UselessQualifiedThisRule
Summary: Look for Qualified This usages in the same class

Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D11981
2015-07-28 09:28:00 -03:00
Andreas Dangel dea9d41dd7 Merge branch 'Monits-addCommentDefaultModifierRule' 2015-07-26 19:25:04 +02:00
Andreas Dangel f963f76fd4 Update changelog, improve test for new CommentDefaultAccessModifier rule 2015-07-26 19:20:47 +02:00
Andreas Dangel 3b60cac700 Merge branch 'addCommentDefaultModifierRule' of https://github.com/Monits/pmd into Monits-addCommentDefaultModifierRule 2015-07-26 19:11:21 +02:00
Andreas Dangel 6b9d0fb5c8 Merge branch 'pmd/5.3.x' 2015-07-25 20:38:22 +02:00
Andreas Dangel c5216fed79 Fix site build 2015-07-25 20:38:03 +02:00
Andreas Dangel e299dffc2f Merge branch 'pmd/5.3.x' 2015-07-25 20:11:45 +02:00
Andreas Dangel d182626618 Update release-process with github 2015-07-25 19:59:28 +02:00
Andreas Dangel 4ecb295b06 Fix version of pmd-java8 module 2015-07-25 19:59:07 +02:00
Andreas Dangel 0785cef364 Prepare next development version 2015-07-25 16:00:08 +02:00
Andreas Dangel 0671c2e478 [maven-release-plugin] prepare for next development iteration 2015-07-25 15:28:23 +02:00
Andreas Dangel 1348ed8e06 [maven-release-plugin] prepare release pmd_releases/5.3.3 2015-07-25 15:28:22 +02:00
Andreas Dangel c2ec86bac5 Prepare pmd release 5.3.3 2015-07-25 15:16:54 +02:00
Andreas Dangel 53a1f5280c Create the site separately, so that javadoc aggreate can work 2015-07-25 15:10:19 +02:00
Andreas Dangel 9d8a2dd0a5 Use github page 2015-07-25 15:10:12 +02:00
Damian Techeira df6f1afa46 Add check to Boxed booleans in UseAssertTrueInsteadOfAssertEquals rule
Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D11963
2015-07-24 12:03:07 -03:00
Damian Techeira e0cd7adeef Add rule for unnecessary boolean in conditionals espressions
Summary: Add rule for unnecessary literals boolean in conditionals espressions

Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D11961
2015-07-23 17:07:15 -03:00
Damian Techeira 89e7d0433a Add default access modifier as comment rule
Summary: Add rule to look for methods and fields that have a default access modifier

Test Plan: mvn test

Reviewers: jmsotuyo

Reviewed By: jmsotuyo

Differential Revision: http://ph.monits.com/D11936
2015-07-22 15:31:19 -03:00
Andreas Dangel e93e9224ae #1381 CPD Cannot use CSV/VS Renderers because they don't support encoding property 2015-07-19 22:34:57 +02:00
Andreas Dangel df14ea9c95 #1379 PMD CLI: Cannot specify multiple properties 2015-07-13 19:50:40 +02:00
Andreas Dangel 617ca01a68 #1369 ConsecutiveLiteralAppends not detected properly on StringBuffer 2015-06-29 20:28:53 +02:00
Andreas Dangel ee5885065e reformat, whitespace 2015-06-29 19:58:48 +02:00
Andreas Dangel 0b7cca49f1 fix typo 2015-06-28 21:56:55 +02:00
Andreas Dangel 8dc25abcfe #1376 CompareObjectsWithEquals fails for type annotated method parameter 2015-06-28 21:51:04 +02:00
Andreas Dangel 62202a5293 Merge branch 'bernardo-macedo-master' 2015-06-28 21:23:42 +02:00
Andreas Dangel 99294dafb6 Update changelog 2015-06-28 21:18:52 +02:00
Bernardo Macedo 1416d2492d Cleaning code 2015-06-24 23:31:21 -03:00
Bernardo Macedo 6b742dba22 Added support for WSDL rules 2015-06-24 23:23:08 -03:00
Andreas Dangel 2b92e22546 #1372 False Negative for CloseResource rule.
already fixed with #1375
2015-06-20 18:38:09 +02:00
Andreas Dangel 1b35a59997 #1375 CloseResource not detected properly 2015-06-20 18:15:02 +02:00
Andreas Dangel 46afa5c36a Merge branch 'pmd/5.3.x' into master 2015-06-06 19:40:33 +02:00
Juan Pablo Civile 39eb581134 Fix run.sh for paths with spaces
When redirecting arguments, "$@" must be used.

cherry-picked: 429e1a91a1
cherry-picked: 59f5c86392
2015-06-06 19:38:02 +02:00
Andreas Dangel 59f5c86392 Update changelog 2015-06-06 19:34:44 +02:00
Andreas Dangel 99ff9fd68e Merge branch 'handle_spaces' of https://github.com/Monits/pmd into Monits-handle_spaces 2015-06-06 19:34:01 +02:00
Andreas Dangel 79ea3fae79 Merge branch 'pmd/5.3.x' into master 2015-06-06 19:32:41 +02:00
Juan Pablo Civile 429e1a91a1 Fix run.sh for paths with spaces
When redirecting arguments, "$@" must be used.
2015-06-05 18:51:20 -03:00
Andreas Dangel ecdcc20bda Add a pmd-ui module, which can use java8 and javafx 2015-06-01 22:16:05 +02:00
Andreas Dangel d28e4f1fb5 #1366 UselessParentheses false positive on multiple equality operators 2015-06-01 20:06:01 +02:00
Andreas Dangel 66c1191984 #1365 Aggregated javadoc report is missing 2015-05-31 14:01:40 +02:00
Andreas Dangel 42726428c5 Fix links on the integrations page 2015-05-31 12:14:45 +02:00
Andreas Dangel 19a13c0ab9 #1364 FieldDeclarationsShouldBeAtStartOfClass false positive using multiple annotations 2015-05-31 10:29:42 +02:00
Andreas Dangel f9b3f4ce4a Merge branch 'pmd/5.3.x' into master 2015-05-22 19:46:19 +02:00
Andreas Dangel 00ff9f25ae Prepare next development version 2015-05-22 19:28:37 +02:00
Andreas Dangel 793af091c0 [maven-release-plugin] prepare for next development iteration 2015-05-22 18:23:42 +02:00
Andreas Dangel 2c99fbd5e5 [maven-release-plugin] prepare release pmd_releases/5.3.2 2015-05-22 18:23:41 +02:00
Andreas Dangel 2aa1942015 Prepare pmd release 5.3.2 2015-05-22 18:18:12 +02:00
Andreas Dangel c34b55285b Adding back missing changelog entry for 5.3.1 2015-05-21 21:33:29 +02:00
Andreas Dangel 7e0cd20740 fix wrong copy-pasted comment 2015-05-20 20:40:29 +02:00
Andreas Dangel 869d4c7005 #1361 ShortVariable and ShortMethodName configuration 2015-05-20 20:34:32 +02:00
Andreas Dangel b50e49777f #1355 NullPointerException in a java file having a single comment line 2015-05-18 21:17:16 +02:00
Andreas Dangel a416513fc9 reformat, whitespaces 2015-05-18 21:14:12 +02:00
Andreas Dangel 357f206102 #1330 AvoidReassigningParameters does not work with varargs 2015-05-15 20:24:06 +02:00
Andreas Dangel cc43e6f8be #1354 Complex FieldDeclarationsShouldBeAtStartOfClass false positive with Spring annotations 2015-05-15 16:06:29 +02:00
Andreas Dangel 3c316c2018 #1343 MethodNamingConventions for overrided methods 2015-05-15 15:33:40 +02:00
Andreas Dangel cae16d39d7 #1353 False positive "Only One Return" with lambda 2015-05-13 21:33:30 +02:00
Andreas Dangel 4661d6a33d #1344 AbstractNaming should check reverse 2015-05-09 19:15:48 +02:00
Andreas Dangel b5e7cbbaf3 verify #1349 VariableNamingConventions : underscore in final but at first position ? 2015-05-09 18:41:42 +02:00
Andreas Dangel 7d630f6cb3 verify #1347 False positive for GuardLogStatementJavaUtil 2015-05-09 18:37:02 +02:00
Andreas Dangel bc41b00206 verify #1346 VariableNamingConventions do not work for method parameters 2015-05-09 18:31:48 +02:00
Andreas Dangel 171fdb877f #1345 UseCollectionIsEmpty throws NullPointerException 2015-05-09 18:25:12 +02:00
Andreas Dangel 12bbb65ebd Update fluido skin version to 1.4 2015-05-09 18:12:38 +02:00
Andreas Dangel 82c6e4f602 Update changelog 2015-05-09 15:11:20 +02:00
Andreas Dangel 19d18a65d3 Removing maven-plugin-pmd-build. This has been moved to https://github.com/pmd/build-tools 2015-05-09 15:08:35 +02:00
Romain PELISSE 8057a5c0df Add a new rule 'InvalidDependencyType' to pom rulesets 2015-05-09 00:45:07 +02:00
Andreas Dangel 3d73198ba9 verify #1340 UseStringBufferForStringAppends False Positive with ternary operator 2015-05-01 18:41:21 +02:00
Andreas Dangel e2a7356ccb verify #1341 pmd:GuardDebugLogging violates LOGGER.debug with format "{}"
It's a duplicate of #1224
2015-05-01 18:33:16 +02:00
Andreas Dangel a0d116ca6d #1335 GuardLogStatementJavaUtil should not apply to SLF4J Logger 2015-05-01 18:27:18 +02:00
Andreas Dangel 857ae074e1 #1342 UseConcurrentHashMap false positive (with documentation example) 2015-04-30 20:07:54 +02:00
Andreas Dangel a2526cc87a Update changelog and add a small test for new rule ProjectVersionAsDependencyVersion 2015-04-30 19:54:03 +02:00
Andreas Dangel bead232701 Merge branch 'pom_rulesets' of https://github.com/belaran/pmd into belaran-pom_rulesets 2015-04-30 19:40:39 +02:00
Andreas Dangel 770fc5763e Update project info reports, display modules after the main pages 2015-04-27 19:47:26 +02:00
Andreas Dangel d0f5279f3f Merge branch 'pmd/5.3.x' into master 2015-04-20 21:45:28 +02:00
Andreas Dangel fba55905b6 Prepare next development version 2015-04-20 21:30:15 +02:00
Andreas Dangel a720b93431 [maven-release-plugin] prepare for next development iteration 2015-04-20 20:15:12 +02:00
Andreas Dangel de7a81202f [maven-release-plugin] prepare release pmd_releases/5.3.1 2015-04-20 20:15:11 +02:00
Andreas Dangel f93a7bc67e Prepare pmd release 5.3.1 2015-04-20 19:55:55 +02:00
Andreas Dangel b6c12fe449 Added deprecated old name for UseSingleton/UseUtilityClass
#1059 and #1339
2015-04-20 19:46:16 +02:00
Andreas Dangel fdb54ecc0e #1337 False positive "Avoid throwing raw exception types" when exception is not thrown 2015-04-18 18:21:11 +02:00
Andreas Dangel 7452c68689 Merge branch 'pmd/5.3.x' into master 2015-04-18 10:11:40 +02:00
Andreas Dangel 1910a6844c #1332 False Positive: UnusedPrivateMethod 2015-04-18 10:04:31 +02:00
Andreas Dangel 5dc9f86a06 Simplify SingleMethodSingleton rule 2015-04-16 20:15:24 +02:00
Andreas Dangel a9cf5d0b73 whitespaces 2015-04-16 20:13:53 +02:00
Andreas Dangel d885267e6c Update changelog, add license headers, add externalInfoUrl for new rules 2015-04-16 20:12:22 +02:00
Andreas Dangel 5438ea180c Merge branch 'master' of https://github.com/kshantaramanUFL/pmd into kshantaramanUFL-master 2015-04-16 19:55:15 +02:00
Andreas Dangel 3485acaa6f Merge branch 'pmd/5.3.x' into master 2015-04-16 19:53:12 +02:00
Andreas Dangel 342e0c4789 Update changelog 2015-04-16 19:28:52 +02:00
Andreas Dangel a56f5545fa Merge branch 'fix-null-pointer-exceptions' of https://github.com/Vampire/pmd into Vampire-fix-null-pointer-exceptions 2015-04-16 19:21:47 +02:00
Romain PELISSE 054d3ce0c9 Add a new rulesets for Maven's POM rules 2015-04-16 13:34:02 +02:00
Karthik Shantaraman 4080a0f177 Update SingleMethodSingletonRule.java 2015-04-14 18:03:50 -07:00
Andreas Dangel 4d03c95158 #1338 The pmd-java8 POM bears the wrong parent module version 2015-04-14 19:50:32 +02:00
Andreas Dangel 6435cece2b #1338 The pmd-java8 POM bears the wrong parent module version 2015-04-14 19:49:09 +02:00
Björn Kautler d8961a903a Fix NullPointerException in ClassScope.resolveGenericType() 2015-04-14 11:24:23 +02:00
Björn Kautler f310138f9d Fix NullPointerException in ClassScope.qualifyTypeName() 2015-04-14 11:24:21 +02:00
Björn Kautler e8c36b34f8 Make TypeSet resolvers null-safe 2015-04-14 11:24:20 +02:00
kshantaraman 4862f0db89 Added code comments 2015-04-13 17:39:46 -07:00
kshantaraman f03883a793 Changed files to match naming conventions 2015-04-13 17:28:59 -07:00
kshantaraman 5d9ecfc203 Changed to follow coventions 2015-04-13 17:22:29 -07:00
Karthik Shantaraman 11470aeb56 Update SingleMethodSingletonRule.java
Minor Bug Fix
2015-04-13 16:44:17 -07:00
Karthik Shantaraman 828c99141c Updated design.xml file
Added the rules in Design
2015-04-13 16:14:27 -07:00
kshantaraman 2b9df33f99 Added PMD Rules for Singleton pattern violations. 2015-04-13 16:06:05 -07:00
Andreas Dangel 29a32bb2a7 #1333 Error while processing Java file with Lambda expressions 2015-04-13 20:01:28 +02:00
Andreas Dangel 85b6b3c0ff #1333 Error while processing Java file with Lambda expressions 2015-04-13 20:01:08 +02:00
Andreas Dangel fa9a4705e6 Prepare next development version 2015-04-13 19:57:34 +02:00
Andreas Dangel cf22d5841b Whitespaces 2015-04-13 19:22:53 +02:00
Andreas Dangel 63f1814c80 Define the goals for releaseing explicitly 2015-04-04 12:39:18 +02:00
Andreas Dangel 9ec438c97d Update project info reports, display modules after the main pages 2015-04-04 10:50:36 +02:00
Andreas Dangel f8be558c5b Remove unneeded maven profiles 2015-04-04 10:50:09 +02:00
Andreas Dangel 15800d6378 Add Clover plugin back 2015-04-04 10:49:37 +02:00
Andreas Dangel ed5b3608cd Define the goals for releaseing explicitly 2015-04-03 19:04:55 +02:00
Andreas Dangel c44a89cce3 [maven-release-plugin] prepare for next development iteration 2015-04-01 20:06:39 +02:00
Andreas Dangel 094c9c0ec9 [maven-release-plugin] prepare release pmd_releases/5.3.0 2015-04-01 20:06:38 +02:00
Andreas Dangel 4cb7c4166e Prepare next development version 2015-04-01 19:59:43 +02:00
Andreas Dangel 8fd4528feb [maven-release-plugin] prepare branch pmd/5.3.x 2015-04-01 19:57:15 +02:00
Andreas Dangel 5c2f6bc962 [maven-release-plugin] prepare for next development iteration 2015-04-01 19:57:15 +02:00
Andreas Dangel 53055517d1 Prepare pmd release 5.3.0 2015-04-01 19:56:05 +02:00
Andreas Dangel 330708a35b #1197 JUnit4TestShouldUseTestAnnotation for private method 2015-03-27 20:47:58 +01:00
Andreas Dangel ddb7c89505 #1307 False positive: SingularField and lambda-expression 2015-03-27 20:36:18 +01:00
Andreas Dangel 4ad83be724 #1326 PMD 5.3.0-SNAPSHOT doesn't compile under Windows 2015-03-27 19:15:36 +01:00
Andreas Dangel 63017dbf08 pmd-core: convert util/database to junit 4 tests, indentation fixes 2015-03-26 20:48:45 +01:00
Andreas Dangel 79b92b71f1 #1322 MethodReturnsInternalArray on private methods 2015-03-26 20:33:57 +01:00
Andreas Dangel e46bea857a #1323 False positive case of UseAssertTrueInsteadOfAssertEquals 2015-03-26 20:25:19 +01:00
Andreas Dangel 65c2493ec7 #1325 Inner class declared within a method fails to parse (ClassCastException) 2015-03-26 19:54:04 +01:00
Andreas Dangel 12cc353d38 #1324 MethodReturnsInternalArray false positive with clone() 2015-03-25 21:31:17 +01:00
Andreas Dangel e57007e1be dogfood, whitespaces 2015-03-25 20:16:55 +01:00
Andreas Dangel 61e8412afe dogfood, whitespaces 2015-03-24 22:48:01 +01:00
Andreas Dangel 056b2fbaea dogfood, whitespaces 2015-03-23 22:11:23 +01:00
Andreas Dangel 45a0227f17 Use released version 0.9 of pmd-build plugin 2015-03-23 20:32:59 +01:00
Andreas Dangel 231a416c87 [maven-release-plugin] prepare for next development iteration 2015-03-23 20:25:49 +01:00
Andreas Dangel 3c2721587d [maven-release-plugin] prepare release pmd-build/0.9 2015-03-23 20:25:49 +01:00
Andreas Dangel 34f1eaca11 Upgrade maven-pmd-plugin to 3.4 2015-03-23 20:19:11 +01:00
Andreas Dangel 2fdb51fcb6 dogfood, whitespaces 2015-03-23 20:16:03 +01:00
Andreas Dangel b7bf3fbb8c dogfood, whitespaces 2015-03-22 00:15:08 +01:00
Andreas Dangel 10ae0fb999 dogfood, whitespaces 2015-03-21 23:30:55 +01:00
Andreas Dangel 86d2387784 update gitignore 2015-03-21 23:11:45 +01:00
Andreas Dangel f300ce1ad6 maven-plugin-pmd-build: use target/generated-site directory as default 2015-03-21 22:50:22 +01:00
Andreas Dangel 9e7839b1f3 doc: Add github ribbon, add topBarIcon 2015-03-21 19:42:17 +01:00
Andreas Dangel 8b4d71a284 doc: Fix syntax error 2015-03-21 19:11:22 +01:00
Andreas Dangel 0c69ed6f8b PMD exit with status 4 if violations have been found. 2015-03-21 19:03:03 +01:00
Andreas Dangel 741a9470bd Update changelog 2015-03-21 18:17:02 +01:00
Andreas Dangel 07e641f20a Merge branch 'tiobe/fix-error-handling' of https://github.com/tiobe/pmd into tiobe-tiobe/fix-error-handling 2015-03-21 18:16:16 +01:00
Andreas Dangel f0dfca261d doc: Update best practices after basic doesn't contain empty/unnecessary
rules anymore (deprecation)
2015-03-21 18:09:04 +01:00
Andreas Dangel ea9789dac5 Use wildcard classpath instead of java.ext.dirs 2015-03-21 18:02:40 +01:00
Andreas Dangel fb1e1ba1aa doc: Improve PMD command line documentation 2015-03-21 17:55:50 +01:00
Andreas Dangel 9312e23a8f doc: add CPD GUI section 2015-03-21 16:38:25 +01:00
Andreas Dangel 415eed32c5 doc: Improve helptext of CPD command line 2015-03-21 16:38:21 +01:00
Andreas Dangel 3ad6663dfb doc: Improve CPD documentation 2015-03-21 16:38:17 +01:00
Andreas Dangel 28dfbeabf8 #1321 CPD format XML fails with NullPointer 2015-03-15 19:39:09 +01:00
Andreas Dangel 65398d9eed #1319 PMD stops with NoClassDefFoundError (typeresolution) 2015-03-15 18:49:45 +01:00
Andreas Dangel a153b974cc #1320 Enhance SimplifyBooleanReturns checks 2015-03-15 18:49:41 +01:00
Andreas Dangel dd6affeb6e Use new pmd-build plugin, adjust some rule documentation for markdown changes 2015-03-15 14:59:55 +01:00
Andreas Dangel d17786000f maven-plugin-pmd-build: generate markdown files for the rules
* simplify the configuration of the plugin
* use better default values
2015-03-15 14:58:57 +01:00
Andreas Dangel 9367879e69 #1277 Delete BooleanInversion as it makes no sense
Deprecate the rule for now - to be completely deleted later
2015-03-15 10:51:57 +01:00
Andreas Dangel d484469fdf doc: fix markdown sites 2015-03-14 22:26:36 +01:00
Andreas Dangel c5622d9c21 doc: Convert xdoc to markdown - usage pages 2015-03-14 22:26:35 +01:00
Andreas Dangel b182001920 doc: Convert xdoc to markdown - customizing pages 2015-03-14 22:26:30 +01:00
Andreas Dangel 0ac64e9d88 doc: Convert xdoc to markdown - index and all overview pages 2015-03-14 16:22:51 +01:00
Andreas Dangel 70070295b7 maven-plugin-pmd-build: Output also deprecated rules that are no references. 2015-03-14 14:40:00 +01:00
Andreas Dangel 03e35f5596 maven-plugin-pmd-build: add the deprecated rules to the rules index page 2015-03-14 13:47:19 +01:00
Andreas Dangel 233b948bd4 maven-plugin-pmd-build: Also display deprecated rules 2015-03-14 13:19:11 +01:00
Andreas Dangel 0ba3c0b8ed maven-plugin-pmd-build: output the rule priority 2015-03-14 11:54:11 +01:00
Andreas Dangel 08c89fb4f5 maven-plugin-pmd-build: whitespace for xsl 2015-03-14 11:47:56 +01:00
Andreas Dangel 9860ded4c8 maven-plugin-pmd-build: add project-info-reports version 2015-03-14 11:43:33 +01:00
Andreas Dangel b379d2e264 maven-plugin-pmd-build: pmd dogfood 2015-03-14 11:43:19 +01:00
Andreas Dangel bc44701af0 maven-plugin-pmd-build: whitespace, formatting 2015-03-14 11:30:43 +01:00
Andreas Dangel 22a5f95272 maven-plugin-pmd-build: update plugins, add plugin annotations 2015-03-14 11:26:02 +01:00
Andreas Dangel 6c79f12da1 maven-plugin-pmd-build: update plugins 2015-03-14 11:12:33 +01:00
Andreas Dangel a52d0dcc6f Make sure, a deprecated and renamed rule is not executed twice. 2015-03-09 22:14:37 +01:00
Andreas Dangel dff3bfb359 #1283 Rename UncommentedEmptyMethod to UncommentedEmptyMethodBody 2015-03-09 20:57:35 +01:00
Andreas Dangel 6c480f6dc7 Document deprecated rules in changelog 2015-03-09 19:56:53 +01:00
Andreas Dangel c74b43baf2 #1317 RuntimeException when parsing class with multiple lambdas
Removing Java8MultipleLambdasTest from java8 integration, as it can
be tested with java < 8 in pmd-java
2015-03-07 21:12:04 +01:00
Andreas Dangel 59b14bd009 Cleanup and add license headers 2015-03-07 20:09:47 +01:00
Andreas Dangel c3882ef6f4 Update changelog 2015-03-07 19:19:01 +01:00
Andreas Dangel c30b0be663 Merge branch 'bugfix/improves-jdk8-support' of https://github.com/bric3/pmd into bric3-bugfix/improves-jdk8-support 2015-03-07 19:13:56 +01:00
Andreas Dangel 74708fa69e RuleProperties: Further refactoring - making the delimiters configurable 2015-03-07 19:01:52 +01:00
Jan van Nunen e2cc67c591 Fixed exit status of PMD when error occurs
When an error occured the exit status of PMD was 0. The error occured
because the logic of 'NO_EXIT_AFTER_RUN' was incorrect/inverted. A
'System.exit()' was performed when 'NO_EXIT_AFTER_RUN' was set while it
should be skipped. I copied the fix from the CPDCommandLineInterface
class.

Furthermore I made sure all error messages are printed to System.err
instead of System.out, so they can easily extracted/found when PMD is
invoked by external tools.
2015-03-05 12:22:56 +01:00
Andreas Dangel 99f735cc3b RuleProperties: Whitespaces, reformat 2015-03-02 21:40:14 +01:00
Andreas Dangel 8ca4a57c13 RuleProperties: get rid of AbstractDelimitedProperty
Just using AbstractProperty now, it can do both.
2015-03-02 20:45:53 +01:00
Andreas Dangel df423b373c RuleProperties: Add more tests and fix some multi property issues.
Add missing BooleanMultiProperty.FACTORY
2015-03-02 20:15:04 +01:00
Brice Dutheil 18f393da3c Introduces java 8 integration test module
* Only for testing pmd-java
* Activated only if the jdk is 1.8
2015-03-01 22:11:51 +01:00
Brice Dutheil 28d1764428 Improves pmd jdk8 readiness
* Upgrade asm so that it understands default method and static methods in interfaces jdk8 class files
* see 9b91690f21 for ASM4 support
2015-03-01 22:09:33 +01:00
Brice Dutheil c50d84ff24 Replaces with spaces only (was mixed whitespaces) 2015-03-01 22:04:17 +01:00
Andreas Dangel fcad3925cd #1316 Multi Rule Properties with delimiter not possible 2015-02-28 14:12:53 +01:00
Andreas Dangel acb8b49aa8 #1302 False Positive: UnusedPrivateField when accessed by inner class 2015-02-21 11:53:38 +01:00
Andreas Dangel 33212c7da3 #1302 False Positive: UnusedPrivateField when accessed by inner class 2015-02-21 11:29:44 +01:00
Andreas Dangel bdf9c19a1d #1304 UseCollectionIsEmpty false positive comparing to 1 2015-02-21 11:26:12 +01:00
Shuyang Zhou cd8325dff3 #1303 OverrideBothEqualsAndHashcodeRule does not work on class implements resolvable interfaces 2015-02-21 11:16:13 +01:00
Andreas Dangel 9b8496ab16 #1305 variable declaration inside switch causes ClassCastException 2015-02-20 20:28:39 +01:00
Andreas Dangel 96b425be46 Disable Scala for jdk9 builds for now (see #1314 Enable Scala for JDK9) 2015-02-20 20:05:38 +01:00
Andreas Dangel 21d7ebb809 Fixes for java9 2015-02-20 19:19:16 +01:00
Andreas Dangel abb247a13a Update changelog 2015-02-20 18:51:36 +01:00
Robert Whitebit cd52e39b08 [JUnit] Check assertion message present in assertEquals with delta
A missing assertion message for assertEquals(double, double, double)
is detected in most cases now. If the assertEquals method has two
arguments, an assertion message is missing, if the assertEquals method
has three arguments, the first one has to be a string.

Pmd will only print an error if the first argument type has been
determined (getType() != null) and isn't a String. Therefore
assertEquals(getInt(), getInt(), getInt()) won't be detected as an
error. However, double d = 1.0; assertEquals(d, 1.0, 1.0); will be
detected.

The JUnitAssertionsShouldIncludeMessageRule.check method has been moved
to the inner class AssertionCall and has been expanded by an
isException hook. The assertEquals with three arguments check overrides
the isException method, returns true if the first argument can't be
determined or is a String and if so, no violation will be added. Also
the constructor arguments have been swapped for readability.

https://sourceforge.net/p/pmd/bugs/1313/
2015-02-20 00:36:11 +01:00
Andreas Dangel 1d0d7d995e Update changelog 2015-02-19 20:57:09 +01:00
Andreas Dangel ed6a876549 Merge branch 'missingAsserts' of https://github.com/robertwhitebit/pmd into robertwhitebit-missingAsserts 2015-02-19 20:56:29 +01:00
Andreas Dangel 5c9eae44c1 Update changelog 2015-02-19 20:52:19 +01:00
Andreas Dangel 6b7846a329 Merge branch 'unused-private-field-inner' of https://github.com/rsalvador/pmd into rsalvador-unused-private-field-inner 2015-02-19 20:51:40 +01:00
Andreas Dangel 299d167e1b Update changelog 2015-02-19 20:47:21 +01:00
Andreas Dangel 563fc4ed5a Merge branch 'no-class-def-found-error' of https://github.com/rsalvador/pmd into rsalvador-no-class-def-found-error 2015-02-19 20:40:15 +01:00
Andreas Dangel 0f0984af3c #1312 Rule reference must not override rule name of referenced rule
The RuleSetWriter used the wrong name, too
2015-02-19 18:29:03 +01:00
Robert Whitebit 41e921531a Add missing assertions in JUnitAssertionsShouldIncludeMessage test
Missing assertions were assertArrayEquals, assertNotSame, assertThat and
fail.
2015-02-18 23:02:43 +01:00
Andreas Dangel d5d6118f12 #1312 Rule reference must not override rule name of referenced rule
otherwise the rule reference is broken
2015-02-18 20:07:44 +01:00
Roman 070a7c992f Fix some false positives in UnusedPrivateField 2015-02-15 11:43:49 -08:00
Roman 1f6421ec88 Handle NoClassDefFoundError along ClassNotFoundException 2015-02-15 11:34:32 -08:00
Andreas Dangel c44d94416d verify #1310 PMD cannot parse int.class with real example 2015-02-10 22:32:09 +01:00
Andreas Dangel 5fbbe0ac94 verify #1310 PMD cannot parse int.class 2015-02-09 21:36:49 +01:00
Andreas Dangel 12d6d71242 Update changelog 2015-01-28 21:34:49 +01:00
Andreas Dangel 5572f9896c Merge branch 'master' into tiobe-tiobe/csv_linenumber_per_file 2015-01-28 20:33:51 +01:00
Andreas Dangel 4e23642f74 Rewrote java-design/FieldDeclarationsShouldBeAtStartOfClass as a java rule
Fixes #1308 PMD runs endlessly on some generated files
2015-01-28 20:22:24 +01:00
Andreas Dangel a51a58476c Another small performance improvement for rule FieldDeclarationsShouldBeAtStartOfClass
It is still the slowest rule from #1308 PMD runs endlessly on some generated files
2015-01-26 20:48:49 +01:00
Andreas Dangel 1159350e91 Merge branch 'tiobe/csv_linenumber_per_file' of https://github.com/tiobe/pmd into tiobe-tiobe/csv_linenumber_per_file 2015-01-24 18:34:21 +01:00
Andreas Dangel 172c20efa6 Small performance improvements for rule FieldDeclarationsShouldBeAtStartOfClass
It is the slowest rule from #1308 PMD runs endlessly on some generated files
2015-01-24 15:57:04 +01:00
Andreas Dangel 4be14adebb #1308 PMD runs endlessly on some generated files 2015-01-24 10:03:46 +01:00
Andreas Dangel 9522ab3cd4 #1306 False positive on duplicate when using static imports 2015-01-22 19:30:20 +01:00
Andreas Dangel 57beb7ed13 #914 False +ve from UnusedImports with wildcard static imports 2015-01-21 21:56:43 +01:00
Jan van Nunen b1769846e5 Created extra CSV output format 'csv_with_linecount_per_file' which outputs the correct line count per file.
Some of the tokenizers ignore comments and therefore the line count of a
duplication can differ per file. Take for example the following files:

FileA.java:

1: public class FileA {
2:  pulbic String Foo() {
3:    return "Foo";
4:   }
5:  }

FileB.java:

1: public class FileB {
2:   pulbic String Foo() {
3:     // This is a comment
4:     return "Foo";
5:   }
6: }

When comments are ignored and not tokenized, the duplication consist of
the following tokens:

'{', 'public', 'String', 'Foo', '(', ')', '{', 'return', 'Foo', ';',
'}', '}'

For 'FileA.java' the duplication is 5 lines long, it starts at line 1
and ends at line 5. For 'FileB.java' the duplication is 6 lines long, it
starts at line 1 and ends at line 6.

Note that this is just 1 example, because for most tokenizers comments
and white spaces are not significant. For example the following file
contains the same duplication all on 1 line:

FileC.java

1: public class FileC { public String Foo() { return "Foo"; } }

For us the correct line count per file is important, because we
highlight the duplications in an annotated source view and show the
percentage of duplicated code the file contains. The current output
formats only contain 1 line count per duplication and file set. For the
above example CPD would output the following:

Found a 4 line (12 tokens) duplication in the following files:
Starting at line 1 of FileA.java
Starting at line 1 of FileB.java

For FileB.java this is not correct and would lead to incorrect
percentage of duplicated code. (66% (4 of 6 lines) instead of the
correct 83% (5 of 6 lines)).

To fix the problem, I created an extra output format
'csv_with_linecount_per_file' which outputs the correct line count per
file. The format contains the following:

tokens,occurrences
<nr of tokens>,<nr of occurrences>(,<begin line>,<line count>,<file
name>)+

For the above example the output would be

tokens,occurrences
12,2,1,4,FileA.java,1,5,FileB.java
2015-01-21 13:55:49 +01:00
Andreas Dangel df81f1fbb5 Update changelog 2015-01-19 21:39:00 +01:00
Andreas Dangel e122ab2450 Fix unit tests after xerces is removed 2015-01-19 21:26:20 +01:00
Andreas Dangel 8d487384a3 Remove LineNumberAwareSaxHandler - as this would have needed xerces 2015-01-19 19:22:03 +01:00
Andreas Dangel a2a8d6c227 Remove xerces dependencies 2015-01-19 19:22:03 +01:00
Andreas Dangel 6ca24d1f8a Implement DOMLineNumbers to determine the line numbers after the parsing 2015-01-19 19:22:03 +01:00
Andreas Dangel 0da50b9e89 Fix XMLParser test to expect more accurate line numbers/columns 2015-01-19 19:22:03 +01:00
Andreas Dangel 5ae01d2d3e Up version to 5.3.0-SNAPSHOT 2015-01-18 12:19:52 +01:00
Andreas Dangel 3e7391ab64 Update changelog and credits 2015-01-18 12:15:01 +01:00
Andreas Dangel be6a422860 Merge branch 'tiobe/pmd-core-cpdcmdlineoptfix' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-core-cpdcmdlineoptfix 2015-01-18 12:13:09 +01:00
Andreas Dangel 2e8ff0487e Update changelog 2015-01-18 12:08:09 +01:00
Andreas Dangel 381a697a99 Merge branch 'tiobe/pmd-cpp-fixlexicalerrors' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-cpp-fixlexicalerrors 2015-01-18 12:06:29 +01:00
Andreas Dangel 6d89f5b30d Update changelog 2015-01-18 11:59:58 +01:00
Andreas Dangel 17e4d2fb9e Merge branch 'tiobe/pmd-cs-linenumberfix' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-cs-linenumberfix 2015-01-18 11:52:08 +01:00
Andreas Dangel d69624e823 Update changelog for scala pull request; update license infos 2015-01-18 11:45:26 +01:00
Andreas Dangel a4fbcef536 Merge branch 'tiobe/pmd-scala' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-scala 2015-01-18 11:22:03 +01:00
Andreas Dangel f5b36f3984 Update changelog for Objective-C pull request 2015-01-18 11:17:04 +01:00
Andreas Dangel cf442b463e Merge branch 'tiobe/pmd-objectivec' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-objectivec 2015-01-18 11:14:40 +01:00
Andreas Dangel e1886ac48e Update changelog for Matlab pull request 2015-01-18 11:09:41 +01:00
Andreas Dangel 68e4b3e4f1 Merge branch 'tiobe/pmd-matlab' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-matlab 2015-01-18 11:04:23 +01:00
Andreas Dangel 3ef82a6c3a Update changelog for python pull request 2015-01-18 11:00:10 +01:00
Andreas Dangel d5593f516f Merge branch 'tiobe/pmd-python' of https://github.com/tiobe/pmd into tiobe-tiobe/pmd-python 2015-01-18 10:47:24 +01:00
Andreas Dangel 6b69174e24 #1296 PMD UnusedPrivateMethod invalid detection of 'private void method(int,boolean,Integer...)' 2015-01-17 22:42:58 +01:00
Andreas Dangel 9d96d974de #1299 MethodReturnsInternalArray false positive 2015-01-17 11:32:55 +01:00
Andreas Dangel 24a435a42e RedundantFieldInitializer - consider binary literals and underscores (java7) 2015-01-17 11:08:46 +01:00
Andreas Dangel 89572efe0d #1298 Member variable int type with value 0xff000000 causes processing error 2015-01-16 21:34:05 +01:00
Jan van Nunen 5776c0e9c5 Made exceptions of the Scala tokenizer non-fatal when CPD is executed with the '--skipLexicalErrors' command line option. 2015-01-15 16:01:28 +01:00
Jan van Nunen 110184e542 Made exceptions of the Scala tokenizer non-fatal when CPD is executed with the '--skipLexicalErrors' command line option. 2015-01-15 15:32:19 +01:00
Jan van Nunen a376da0d9e Fixed '--files' command line option of CPD, so it also works for files and not only for directories.
The '--files' command line option of CPD lets you specify which
directories and files should be scanned for duplicated code.
Unfortunately it didn't work when you specified files instead of
directories, for example: '--files foo.c bar.c'. In this example CPD
executed successful, but the files 'foo.c' and 'bar.c' are completely
ignored.
2015-01-14 17:34:17 +01:00
Jan van Nunen 6c0b45519c Added pmd-python to default PMD distribution. 2015-01-13 14:25:42 +01:00
Jan van Nunen 5bbc99a6f8 Added pmd-objectivec to default PMD distribution. 2015-01-13 14:23:16 +01:00
Jan van Nunen 06f769ddd0 Added pmd-scala to default PMD distribution. 2015-01-13 14:19:08 +01:00
Jan van Nunen f58ee38cca Fixed build error by adding the configuration base-directory to the POM.xml 2015-01-13 14:11:06 +01:00
Jan van Nunen 23f03a78a9 Added pmd-matlab to default PMD distribution. 2015-01-13 14:07:43 +01:00
Jan van Nunen c92dc9706c Relaxed C++ tokenizer so a '\'(backslash) can be use to escape any character inside a string or character.
The following 2 code snippets could not be tokenized:

1:  if (*pbuf == '\0x05'), the problem is the '\0' in the character
literal '\0x05'.
2:  szPath = m_sdcacheDir + _T("\    oMedia");, the problem is the '\ '
in the string literal "\    oMedia".

I relaxed the lexical grammar so a '\' (backslash) can escape any
character inside a string or character literal. We can relax the grammar
because CPD only needs the tokens, so it is no problem to accept
'invalid' string / character literals. (according to the ANSI C
standard).  Failing too fast because the tokenizer is too strict is
annoying because then we can't check the files for duplicated code.

Both snippets were taken from existing projects and be successfully
compiled, so for some C / C++ compilers it is valid code.
2015-01-13 11:36:54 +01:00
Jan van Nunen d830974842 Fixed lexical error when a C++ file contains an empty character literal L''.
This commit fixes a lexical error when a C++ file contains an empty
character literal L''. The following code could not be tokenized:

std::wstring wsMessage( sMessage.length(), L'');

It triggers the following error:

net.sourceforge.pmd.lang.ast.TokenMgrError: Lexical error in file
'foo.cpp' at line 1, column 46.  Encountered: "\'" (39), after : "\'"
2015-01-13 11:36:54 +01:00
Jan van Nunen ceef6cd236 Fixed lexical eror when a preprocessor directive is followed by a single line comment that starts with "//*".
This commit fixes a lexical eror when a preprocessor directive is
followed by a single line comment that starts with "//*".

The following code could not be tokenized:

#define LSTFVLES_CPP  //*

It triggers the following error:

net.sourceforge.pmd.lang.ast.TokenMgrError: Lexical error in file
'foo.cpp' at line 2, column 0.  Encountered: <EOF> after : ""
2015-01-13 11:36:53 +01:00
Jan van Nunen 5c2df4c877 Fixed lexical error when a C++ file contains ASM with the '@' character.
This commit fixes a lexical error when a C++ file contains ASM with the
'@' character. The following code cannot be tokenized and triggers a
lexical error:

asm void eSPI_boot()
{
// setup stack pointer
lis r1, _stack_addr@h
ori r1, r1, _stack_addr@l
}

The error that occurs:

net.sourceforge.pmd.lang.ast.TokenMgrError: Lexical error in file
CODE_LOADED_FROM_STRING at line 4, column 22.  Encountered: "@" (64),
after : ""
2015-01-13 11:36:53 +01:00
Jan van Nunen 6d0be8b126 Fixed incorrect line numbers after mutiline comments and verbatim strings. 2015-01-12 10:53:34 +01:00
Jan van Nunen 952ace3128 Fixed build warning of Scala compiler. 2015-01-12 09:18:20 +01:00
Jan van Nunen bffea4bb3b Added support for Scala to CPD.
The Scala tokenizer was extracted from the Sonar Scala plugin.
(https://github.com/SonarCommunity/sonar-scala) I copied the code
because the Sonar Scala plugin has a lot of unwanted dependencies. I
tried to keep the changes to the Scala Sonar plugin as minimal as
possible.

To tokenize the source files the official Scala compiler is used.
2015-01-09 15:20:25 +01:00
Jan van Nunen 8dd3755db1 Added support for Objective-C to CPD. 2015-01-08 16:04:15 +01:00
Jan van Nunen 43750e3799 Added support for Python to CPD. 2015-01-07 12:07:24 +01:00
Jan van Nunen 16fabee7c3 Added support for Matlab to CPD. 2015-01-07 11:56:47 +01:00
Jan van Nunen 779ea00647 Created branch to add Matlab support 2015-01-07 11:00:49 +01:00
Andreas Dangel c1bc045c65 Update release process - use compression when uploading the site 2014-12-21 16:55:04 +01:00
Andreas Dangel 111fc31cd7 Update changelog for next version 2014-12-21 11:54:14 +01:00
Andreas Dangel 0e6a5db426 [maven-release-plugin] prepare for next development iteration 2014-12-21 11:46:02 +01:00
Andreas Dangel 6c316e9375 [maven-release-plugin] prepare release pmd_releases/5.2.3 2014-12-21 11:46:02 +01:00
Andreas Dangel 8831b710f1 Prepare pmd release 5.2.3 2014-12-21 11:39:41 +01:00
Andreas Dangel 990ed276f3 Update release process - don't use site-deploy anymore. 2014-12-21 11:26:41 +01:00
Andreas Dangel 0fce9a497b #1289 CommentRequired not ignored if javadoc {@inheritDoc} anon inner classes 2014-12-18 19:20:16 +01:00
Andreas Dangel 763b38e8de verify #1296 PMD UnusedPrivateMethod invalid detection of 'private void method(int,boolean,Integer...)' 2014-12-18 18:52:28 +01:00
Andreas Dangel 5530d7eb94 #1288 MethodNamingConventions for native should be deactivated 2014-12-17 21:52:42 +01:00
Andreas Dangel e48f18cce2 #1293 Disable VariableNamingConventions for native methods 2014-12-17 21:42:49 +01:00
Andreas Dangel 071040929e verify #1293 VariableNamingConventions False positive for native methods 2014-12-15 21:10:21 +01:00
Andreas Dangel 5daa4a9382 #1294 False positive UnusedPrivateMethod with public inner enum from another class 2014-12-14 18:01:07 +01:00
Andreas Dangel db51c7d217 Update changelog 2014-12-14 11:29:58 +01:00
alberto 3a2e1474d3 spaces 2014-12-12 20:50:20 +01:00
alberto 50df3e0e11 Allow byte[] data and byte data[] as no-varargs last argument 2014-12-12 20:39:46 +01:00
Andreas Dangel aea6c74a8f java/design/UseVargs - update changelog, extend test case 2014-12-12 19:26:36 +01:00
Andreas Dangel bdf454a967 Merge branch 'master' of https://github.com/albfernandez/pmd 2014-12-12 19:05:44 +01:00
Andreas Dangel 26b4f850b1 #1252 net.sourceforge.pmd.lang.ast.TokenMgrError: Lexical error in file xxx.cpp 2014-12-12 18:58:51 +01:00
Andreas Dangel 6b3b9d0ccc #1252 implement BOM detection differently for cpp 2014-12-12 17:45:38 +01:00
Alberto Fernández a07d8bdfce Update design.xml 2014-12-11 10:50:23 +01:00
Andreas Dangel 8fb2f0a09f Add a timeout for retrieving a ruleset from a URL
By default, timeout is 5 seconds
2014-12-10 22:00:05 +01:00
Andreas Dangel dd8c5f2d1a Implement possibility to specify a Single Rule from a Ruleset via http 2014-12-10 21:54:17 +01:00
alberto c5f28f4879 Allow byte[] as no-varargs final argument 2014-12-09 22:48:21 +01:00
Andreas Dangel a9e6d921dd Update changelog 2014-12-08 20:05:21 +01:00
Andreas Dangel b2f7a0b94c Merge branch 'master' of https://github.com/msiemczyk/pmd 2014-12-07 21:09:15 +01:00
msiemczyk 8d0f8080f4 #1290 RuleSetReferenceId does not process HTTP(S) correctly.
Fixed the bug and added one unit test.
2014-12-05 17:56:04 -05:00
Andreas Dangel 17e22c4cb3 Separate out the inner classes of XmlParser 2014-12-04 21:04:25 +01:00
Andreas Dangel 084c92efad Update changelog for next version 2014-12-03 21:24:39 +01:00
Andreas Dangel ac0181f017 [maven-release-plugin] prepare for next development iteration 2014-12-03 19:22:19 +01:00
Andreas Dangel c577dc8aac [maven-release-plugin] prepare release pmd_releases/5.2.2 2014-12-03 19:22:19 +01:00
Andreas Dangel 6ff80fbad1 Prepare pmd release 5.2.2 2014-12-03 19:11:52 +01:00
Andreas Dangel ce1e6b418c Fix dogfood ruleset 2014-11-30 21:23:04 +01:00
Andreas Dangel 0cab1ac78a Upgrade maven-pmd-plugin to 3.3 2014-11-30 20:29:32 +01:00
Andreas Dangel 944771c626 Fix javadoc for suppress marker 2014-11-30 20:24:22 +01:00
Andreas Dangel c8887de5ff #1090 cpp parser exception with inline asm 2014-11-28 21:32:32 +01:00
Andreas Dangel 7b58836ebb #1128 CompareObjectsWithEquals False Positive comparing boolean (primitive) values 2014-11-27 20:19:17 +01:00
Andreas Dangel 4d16e3a582 #1286 UnusedPrivateMethod returns false positives for varags and enums 2014-11-26 19:21:44 +01:00
Andreas Dangel 3fd0d7fe01 verify #1287 UnusedPrivateMethod returns false positives for Superclass 2014-11-26 19:12:33 +01:00
Andreas Dangel a9352d4d4c Update --encoding paramter description for CPD.
Thanks to Michael Osipov.
2014-11-25 21:49:58 +01:00
Andreas Dangel 3ce7442c2d Fix unit test 2014-11-24 22:18:13 +01:00
Andreas Dangel 20df4ca717 Don't rely on default encoding for unit tests 2014-11-24 21:06:16 +01:00
Andreas Dangel d0980bd30d Add back the old getRendererFromString method for compatibility 2014-11-24 20:30:17 +01:00
Andreas Dangel afc13b29a2 #1285 Prevent to modify the System environment 2014-11-24 20:18:44 +01:00
Andreas Dangel 8ab9f3ed5d #1280 False Positive in UnusedImports when import used in javadoc 2014-11-18 22:27:07 +01:00
Andreas Dangel 7d262036c6 Exclude LawOfDemeter rule from dogfood ruleset 2014-11-17 21:56:01 +01:00
Andreas Dangel e86341bf8e Checkstyle fixes 2014-11-17 21:55:57 +01:00
Andreas Dangel fbe6742666 Set beginColumn for the test nodes, so that no RuntimeException is thrown. 2014-11-16 12:00:29 +01:00
Andreas Dangel 5f35ded04b Fix PMD dogfood issues in pmd-java 2014-11-16 11:38:42 +01:00
Andreas Dangel 4345f04fb0 Fix PMD dogfood issues in pmd-plsql and pmd-xml 2014-11-16 11:11:56 +01:00
Andreas Dangel 3a4caa5c7c Fix PMD dogfood issues in pmd-cs, pmd-jsp, pmd-javascript, pmd-test 2014-11-16 00:15:47 +01:00
Andreas Dangel f7f89f2921 Fix PMD dogfood issues in pmd-core 2014-11-15 23:57:03 +01:00
Andreas Dangel 6b0ddaeb51 #1254 CPD run that worked in 5.1.2 fails in 5.1.3 with OOM
Removed default heapsize of 512m
reenabled multiple line strings in javascript
2014-11-15 21:44:37 +01:00
Andreas Dangel f5db63b374 Exclude generated sources from checkstyle 2014-11-15 19:53:34 +01:00
Andreas Dangel a2e6088faa Fix duplicated code in DBMSMetadata 2014-11-15 19:09:51 +01:00
Andreas Dangel e844ca290c Add cpd to the build 2014-11-15 19:08:39 +01:00
Andreas Dangel 0bca478e31 #1282 False Positive with implicit String.valuesOf() (Java) 2014-11-15 17:02:50 +01:00
Andreas Dangel 55a912e731 #1281 UnusedPrivateMethod incorrectly flagged for methods nested private classes 2014-11-15 16:51:51 +01:00
Andreas Dangel 70723b16bc verify #1280 False Positive in UnusedImports when import used in javadoc 2014-11-15 15:19:12 +01:00
Andreas Dangel a8d7b594ab #1276 False positive in UnusedPrivateMethod with inner enum 2014-11-15 12:55:15 +01:00
Andreas Dangel a5bc2a079f #1276, #1278, #1279, #1280 False positive in UnusedPrivateMethod
Make the auxclasspath option optional. Falls back to the old behavior,
which prevents many false positives.
But it introduces the false negative case #1226, if no auxclasspath is set.
2014-11-15 12:21:18 +01:00
Andreas Dangel 60fe895abf verify #1280 False Positive in UnusedImports when import used in javadoc 2014-11-13 20:10:14 +01:00
Andreas Dangel 4da773b7fc Add ruleset factory tests for all languages 2014-11-09 11:20:54 +01:00
Andreas Dangel 0daca93634 Fix links on index.html site 2014-11-05 21:18:34 +01:00
Andreas Dangel 461df4b86c Prepare changelog for next version 2014-11-03 20:45:16 +01:00
Andreas Dangel a97e9fc532 [maven-release-plugin] prepare for next development iteration 2014-11-03 19:59:01 +01:00
Andreas Dangel 22d22382f6 [maven-release-plugin] prepare release pmd_releases/5.2.1 2014-11-03 19:59:00 +01:00
Andreas Dangel 588330b4b9 pmd: Prepare pmd release 5.2.1 2014-11-03 19:45:50 +01:00
Andreas Dangel 61b11beda7 Another jdk9 fix for Swing's JTree TreeNode 2014-11-02 12:18:45 +01:00
Andreas Dangel 0450f9a9d7 #1258 Java 8 Lambda parse error on direct field access 2014-11-02 10:47:51 +01:00
Andreas Dangel 6b80078c03 #1253 Document default behaviour when CPD command line arguments "encoding" and "ignoreAnnotations" are not specified 2014-11-02 10:24:44 +01:00
Andreas Dangel 58bd3c0514 #1255 UseUtilityClass false positive with Exceptions 2014-11-02 10:13:12 +01:00
Andreas Dangel 1454d8d9c8 #1256 PositionLiteralsFirstInComparisons false positive with Characters 2014-11-02 09:55:04 +01:00
Andreas Dangel fdac23abfe #1259 CloseResource rule ignores conditionnals within finally blocks 2014-10-24 22:00:46 +02:00
Andreas Dangel 5fec443bad #1261 False positive "Avoid unused private methods" with Generics, another case 2014-10-24 20:18:19 +02:00
Andreas Dangel 0e68c00f41 #1275 False positive: UnusedModifier rule for static inner class in enum 2014-10-23 21:36:59 +02:00
Andreas Dangel 76af873708 #1274 ant integration broken with pmd-5.2.0
Separate PMDTask and PMDTaskImpl and set the context classloader
when executing PMD
For CPD, the validation of the language is deferred, until
the context class loader has been switched
2014-10-23 20:00:57 +02:00
Andreas Dangel d9ff018846 Checkstyle, whitespace, formatting 2014-10-21 22:38:19 +02:00
Andreas Dangel 67b1ad9c98 #1261 False positive "Avoid unused private methods" with Generics 2014-10-20 19:17:54 +02:00
Andreas Dangel 238f54ad70 Update rhino dependency to 1.7R4 2014-10-18 21:52:08 +02:00
Andreas Dangel d76454ec81 Update maven plugins 2014-10-18 21:38:57 +02:00
Andreas Dangel 71476b2b5a Fix website base url for sf-release 2014-10-18 21:28:36 +02:00
Andreas Dangel ef007904d2 Update maven-release-plugin 2014-10-18 21:28:26 +02:00
Andreas Dangel 2e7ddc9312 Update dependencies. The new dependencies don't seem to use any
internal jdk api anymore. At least, "jdeps -jdkinternals" doesn't flag
anything.
2014-10-18 21:22:21 +02:00
Andreas Dangel f213e7c38e Add project reports for top level site 2014-10-18 21:02:39 +02:00
Andreas Dangel 30c1a3f831 Fix duplicated maven-clover2-plugin configuration 2014-10-18 21:01:02 +02:00
Andreas Dangel 53048546ba Checkstyle/whitespace fixes 2014-10-18 13:31:14 +02:00
Andreas Dangel cc24717980 #1262 False positive for MissingBreakInSwitch 2014-10-18 13:15:47 +02:00
Andreas Dangel 8f866a8906 #1272 varargs in methods are causing IndexOutOfBoundException when trying to process files 2014-10-18 13:02:41 +02:00
Andreas Dangel 5f9bd17ee6 #1252 net.sourceforge.pmd.lang.ast.TokenMgrError: Lexical error in file xxx.cpp 2014-10-18 12:33:40 +02:00
Andreas Dangel 66ea6b0f9b #550 False +: MissingBreakInSwitch 2014-10-18 11:49:17 +02:00
Andreas Dangel 85afbcfe7c #1263 PMD reports CheckResultSet violation in completely unrelated source files. 2014-10-18 11:44:23 +02:00
Andreas Dangel 0b6f6322e6 #1273 CheckResultSet false positive in try-with-resources nested in if 2014-10-18 11:36:56 +02:00
Andreas Dangel 4660855609 delete Java grammer from pmd-core - it's now in pmd-java 2014-10-18 10:56:53 +02:00
Andreas Dangel 0351d02b20 Update changelog for next version 2014-10-17 22:37:05 +02:00
Andreas Dangel 6e9d825678 Update release process 2014-10-17 22:35:09 +02:00
Andreas Dangel 4a7be51c70 [maven-release-plugin] prepare for next development iteration 2014-10-17 20:15:46 +02:00
Andreas Dangel 118d1c5d30 [maven-release-plugin] prepare release pmd_releases/5.2.0 2014-10-17 20:15:45 +02:00
Andreas Dangel cdcbc8c7aa Enable autoVersionSubmodules for releasing 2014-10-17 20:08:42 +02:00
Andreas Dangel 7ee2faa359 Prepare pmd release 5.2.0 2014-10-17 20:01:40 +02:00
Andreas Dangel f3c238527b Fix link to changelog on index.html 2014-10-13 20:36:39 +02:00
Andreas Dangel b654d3c9cc Merge branch 'modularization' 2014-10-13 19:25:23 +02:00
Andreas Dangel c7d3d2969f Move Go Language into own sub-module, update changelog 2014-10-12 20:05:17 +02:00
Andreas Dangel e8fadec7de Merge branch 'cpd-language-go' of https://github.com/oinume/pmd into oinume-cpd-language-go 2014-10-12 19:57:41 +02:00
Andreas Dangel c714a7da87 Implement clean for generated xdocs 2014-10-12 19:50:25 +02:00
Andreas Dangel 64f9b04811 Update release docu, rename releases ruleset 514->520 2014-10-12 19:33:58 +02:00
Andreas Dangel 2584d7fbbd Update documentation 2014-10-12 19:10:47 +02:00
Andreas Dangel 9ade75a621 Refactor CPDGui to detect available languages dynamically 2014-10-12 10:43:53 +02:00
Andreas Dangel 694258d7df Cleanup dependencies 2014-10-12 09:39:43 +02:00
Andreas Dangel f839ff43d5 Cleanup dependencies 2014-10-11 13:26:10 +02:00
Andreas Dangel 464b0bcef8 Rework CPD's LanguageFactory to use ServiceLoader, too 2014-10-11 12:16:28 +02:00
Andreas Dangel 72719bd0c3 Move C# into own sub-module 2014-10-11 11:23:07 +02:00
Andreas Dangel 2e13d1dd5e Update changelog 2014-10-11 11:01:53 +02:00
Andreas Dangel 7deb1ac596 Bump version to 5.2.0-SNAPSHOT 2014-10-08 22:57:04 +02:00
Andreas Dangel f748539c45 Rename pmd -> pmd-core and pmd-aggregate -> pmd 2014-10-08 22:52:25 +02:00
Andreas Dangel 38dd43a16b PMD, Checkstyle and Clover configurations 2014-10-08 22:31:29 +02:00
Andreas Dangel 475745e98e Configure the site for every module 2014-10-08 21:49:23 +02:00
Andreas Dangel bc9469e385 Add all language modules to distribution package 2014-10-08 21:00:06 +02:00
Andreas Dangel 18ea8600ec Fix problem that some rules where not executed - max language version was
determined wrongly
2014-10-06 23:04:11 +02:00
Andreas Dangel 19fb5426f7 Move forgotten files to java 2014-10-06 22:52:13 +02:00
Andreas Dangel 17b573ef81 Fix ant tests - PMDTaskTest is moved partly to java,
javascript and xml
2014-10-06 22:46:01 +02:00
Andreas Dangel a36239bbc1 Fix remaining RuleSetFactoryTests and RuleSetReferenceIdTests 2014-10-06 22:08:34 +02:00
Andreas Dangel b8c79ffd47 Fix a couple of RuleSetFactoryTests 2014-10-06 20:44:09 +02:00
Andreas Dangel f120134b6d Fix CLI Tests, move coverage test to java 2014-10-06 20:14:43 +02:00
Andreas Dangel d038fed36e Fix RendererTests - XMLRendererTest same as all others now. 2014-10-06 20:00:31 +02:00
Andreas Dangel 8ce1607b23 Fix more tests like StatisticalRuleTest, SourceCodeTest
MatchAlgorithmTest moved to java
2014-10-06 19:19:52 +02:00
Andreas Dangel 09eb9ef2cc Fix DesignerTest - and lazily initialize the Designer class 2014-10-05 21:28:57 +02:00
Andreas Dangel 563a41afd7 More fixes - some tests simply moved to java module 2014-10-05 18:46:34 +02:00
Andreas Dangel 5c548570f6 Introduce two dummy languages for testing, fix more compile errors in tests 2014-10-04 21:16:33 +02:00
Andreas Dangel e41b56a8e5 Move tests for typeresolution and symboltable to java sub-module 2014-10-04 20:44:01 +02:00
Andreas Dangel 8165bc2bf5 Fix test compilation errors - LanguageVersion*Tests in each sub-module now 2014-10-04 20:40:05 +02:00
Andreas Dangel 36327e266e Move cpd code for ecmascript into javascript sub-module 2014-10-04 20:11:55 +02:00
Andreas Dangel 64728dd9c4 Move ruby into own sub-module 2014-10-04 20:09:46 +02:00
Andreas Dangel 600587e5b0 Move fortran into own sub-module 2014-10-04 20:05:38 +02:00
Andreas Dangel a3b4b0bff8 Move php into own sub-module 2014-10-04 20:00:55 +02:00
Andreas Dangel c352217131 Move cpd tokenizer tests to the various sub-modules 2014-10-04 19:16:01 +02:00
Andreas Dangel 36dd58a4ab Move xml and xsl into own sub-module pmd-xml 2014-10-04 19:06:41 +02:00
Andreas Dangel d2a7bc85f1 Move jsp into own sub-module 2014-10-04 18:56:33 +02:00
Andreas Dangel cdf293f9fc Move cpp into own sub-module 2014-10-04 18:48:35 +02:00
Andreas Dangel 802af053cf Move plsql into own sub-module 2014-10-04 18:40:22 +02:00
Andreas Dangel a8ef0ec863 Move velocity into own sub-module 2014-10-04 18:32:40 +02:00
Andreas Dangel 2e7310a2cd Move javascript into own sub-module 2014-10-04 18:23:23 +02:00
Andreas Dangel c859a05718 Extract test framework into own sub-module 2014-10-04 17:37:09 +02:00
Andreas Dangel ad88b4784d Move java into own sub-module pmd-java 2014-10-04 17:36:41 +02:00
Andreas Dangel fa950a8296 Merge remote-tracking branch 'chrisdutz/master' into modularization 2014-10-04 16:59:56 +02:00
Andreas Dangel 4546adac8f Move and remove more java language dependencies in tests
All the symboltable tests seem to be java specific
ParserTst is java specific, too
2014-10-04 16:34:40 +02:00
Andreas Dangel 01c59395b8 Remove more java language dependencies in test classes 2014-10-03 23:31:31 +02:00
Andreas Dangel 0c6e5c5e9a Remove more java language dependencies
SymbolTableViewer is unfinished and not used, so deleted now.
GetCommentOnFunction and TypeOfFunction are registered
with java's language handler.
2014-10-03 22:03:10 +02:00
Andreas Dangel e4faed2f47 Update gitignore 2014-10-03 21:20:08 +02:00
Andreas Dangel c214c1b5ba Move documentation up to parent module 2014-10-03 21:00:28 +02:00
Andreas Dangel c1c6f71981 Configure correct multi-module build
and move common parts up to the parent pom
2014-10-02 19:09:58 +02:00
Andreas Dangel 291245a081 Add sources to the src package
bin-package now only contains the binaries
src-package now only contains the sources
2014-10-01 20:09:58 +02:00
Andreas Dangel 6f7b1f55e4 Create a basic dist module, which creates the binaries for pmd 2014-10-01 19:46:31 +02:00
Andreas Dangel e8cb1bde54 Move test packages net.sourceforge.pmd.ast and .dfa to lang.java. 2014-09-30 21:54:40 +02:00
Andreas Dangel 64b43e1235 Remove references to java 2014-09-30 20:07:31 +02:00
Andreas Dangel d3e97d3c07 Move ImportWrapper in a general package as it's just a utility class 2014-09-30 20:05:26 +02:00
Andreas Dangel 612364a06d Create a first sub-module for java
* almost empty, just compiling the java grammar
* no code moved yet
2014-09-30 19:51:42 +02:00
oinuma-kazuhiro 8ca3805218 Fix indent tab 2014-09-30 15:44:52 +09:00
oinuma-kazuhiro 076d4a09b1 Add Go support to CPD 2014-09-30 15:42:17 +09:00
Christofer Dutz 079c72f7d6 Refactored the LanguageRegistry to use a Java 6 ServiceLoader instead of a custom-built property-file-based solution. 2014-09-29 22:38:46 +02:00
Christofer Dutz b781fd3eb5 Renamed LanguageVersionModule back to LanguageVersion and LanguageModule back to Language. 2014-09-29 21:28:33 +02:00
Andreas Dangel bb9039426b Merge branch 'marob-master' 2014-09-29 21:02:44 +02:00
Andreas Dangel 27b2466bf1 Add missing documentation + changelog 2014-09-29 20:55:51 +02:00
marob 59706b9075 Import jstl functions in tests 2014-09-24 18:11:14 +02:00
marob d7466ec50b Add the fn:escapeXml case 2014-09-24 17:00:50 +02:00
marob adbe4e4e9c merge from upstream 2014-09-24 16:03:42 +02:00
Christofer Dutz 5789144b93 Renamed LanguageVersionModule back to LanguageVersion and LanguageModule back to Language. 2014-09-22 22:05:17 +02:00
Christofer Dutz 0c43a7aae5 Refactored PMD to allow modular extension of languages. 2014-09-22 22:01:17 +02:00
Andreas Dangel dea0fe616e Prepare next version 2014-08-31 13:21:01 +02:00
Andreas Dangel 45c1a8ca71 [maven-release-plugin] prepare for next development iteration 2014-08-31 11:56:31 +02:00
Andreas Dangel 6063aafa80 [maven-release-plugin] prepare release pmd_releases/5.1.3 2014-08-31 11:56:31 +02:00
Andreas Dangel 730d1d75c2 release plugin back to 2.3.2 due to https://jira.codehaus.org/browse/MRELEASE-875 2014-08-31 11:52:16 +02:00
Andreas Dangel fae645106f Prepare pmd release 5.1.3 2014-08-31 11:14:35 +02:00
Andreas Dangel cd38be487e JDK9 code changes - interface javax.swing.tree.TreeNode changed slightly 2014-08-31 10:49:37 +02:00
Andreas Dangel b440eaf323 verify #1249 Regression: UnusedPrivateMethod from 5.0.5 to 5.1.2 2014-08-30 21:11:01 +02:00
Andreas Dangel c1f0d3c43b #1250 Method attribute missing for some violations 2014-08-30 20:57:19 +02:00
Andreas Dangel 94da2876c0 Documentation: Extra closing-brace in suppress-warnings example
See: https://sourceforge.net/p/pmd/discussion/188192/thread/9ecda507/
2014-08-30 19:03:05 +02:00
Andreas Dangel 5efaafc4f6 verify #1251 UnusedPrivateMethod false positives for boxing & unboxing arguments 2014-08-30 18:59:34 +02:00
Andreas Dangel b41e6ff682 #1246 False positive from MissingBreakInSwitch 2014-08-24 11:42:00 +02:00
Andreas Dangel eaa58d7f5f #1247 Not able to recognize JDK 8 Static Method References 2014-08-22 22:59:18 +02:00
Andreas Dangel 8a9c44148a #1245 False Positive for Law of Demeter 2014-08-22 22:38:25 +02:00
Andreas Dangel 3e182c9b03 Verify #1246 False positive from MissingBreakInSwitch 2014-08-22 22:17:10 +02:00
Andreas Dangel 67cdaf9edd Fix unit test 2014-08-18 20:47:58 +02:00
Andreas Dangel 2ffec3d953 Update changelog 2014-08-18 20:40:28 +02:00
Andreas Dangel 15571a15db Refactor cyclomatic complexity tests to be standard rule tests 2014-08-17 19:10:12 +02:00
Andreas Dangel fddf301589 Use PMDTestRunner for almost all rule tests 2014-08-16 20:54:37 +02:00
Andreas Dangel 7790c83fb1 #1241 False+ AvoidProtectedMethodInFinalClassNotExtending 2014-08-15 12:37:02 +02:00
Andreas Dangel 623ac14c51 #1243 Useless Parentheses False Positive 2014-08-15 12:27:08 +02:00
Andreas Dangel 8fcc45daf0 #1244 FieldDeclarationsShouldBeAtStartOfClass and anonymous classes 2014-08-15 12:09:32 +02:00
Andreas Dangel 2d6560c0f8 #1239 StackOverflowError in AbstractTokenizer.parseString running CPD on >1MB JS file 2014-08-14 22:50:34 +02:00
Andreas Dangel 643f85a5a2 #1235 scope dependencies in POM file 2014-08-14 21:58:31 +02:00
Andreas Dangel 9e3a672636 Verified #1156 False failure with "Avoid unused private methods" 2014-08-14 21:43:01 +02:00
Andreas Dangel c310c93c02 #1187 double variable with AvoidDecimalLiteralsInBigDecimalConstructor 2014-08-14 20:24:07 +02:00
Andreas Dangel 6c0eed7109 Fix NPE in ConstructorCallsOverridable and XPath error in AvoidLiteralsInIfCondition 2014-08-13 21:31:09 +02:00
Andreas Dangel 1025c09bf5 #1231 No Error Message on Missing Rule 2014-08-13 20:01:37 +02:00
marob 635fc40e6f Add NoUnsanitizedJSPExpression rule 2014-08-13 10:50:12 +02:00
Andreas Dangel 8a34f2c8d1 #1231 No Error Message on Missing Rule - add error message if excluded rule cannot be found 2014-08-12 20:02:34 +02:00
Andreas Dangel f6415ccc80 #1232 Make ShortClassName configurable 2014-08-11 20:04:01 +02:00
Andreas Dangel f5783eec6d #1234 Unused private methods still giving false positives in 5.1.3 snapshot 2014-08-10 18:59:46 +02:00
Andreas Dangel 9b73613ff4 Verify #1199 PMD CheckResultSet gives false positive in a do/while loop 2014-08-09 20:10:01 +02:00
Andreas Dangel c1f141f694 Upgrade maven plugins 2014-08-09 19:52:46 +02:00
Andreas Dangel d6b6e6a4a0 #1230 UseCollectionIsEmpty gets false positives 2014-08-09 18:05:40 +02:00
Andreas Dangel cb76795cb9 Improve test framework:
* PMDTestRunner reports all tests, that have been executed. This will
  explode the reported number of tests that are run
* It allows to selectively run single test cases (e.g. via eclipse)
* Used for now in DesignRulesTest
* Updated junit to 4.11
2014-08-09 16:04:03 +02:00
Andreas Dangel 9e35243b16 #1228 actually use the class loader for the symbol facade
and fix type resolution in the current package
2014-08-08 22:08:24 +02:00
Andreas Dangel 7a7ba2b23e #1228 UnusedPrivateMethod returns false positives - more cases 2014-08-08 21:13:02 +02:00
Andreas Dangel 1540440632 #1228 UnusedPrivateMethod returns false positives (7) - support allocation expressions 2014-08-08 19:37:23 +02:00
Andreas Dangel 6ee75a9e6d #1228 UnusedPrivateMethod returns false positives (6)
With auto-boxing for primitive types
2014-08-07 21:21:05 +02:00
Andreas Dangel 5428885ae4 #1233 UnusedPrivateMethod: False positive : method called on returned object. 2014-08-05 19:47:58 +02:00
Andreas Dangel 47a24d5625 Update maven-pmd-plugin 2014-08-03 17:36:36 +02:00
Andreas Dangel e28c7de3e5 #1228 UnusedPrivateMethod returns false positives (5a+b)
This adds the auxiliar classpath to the TypeSet type resolver that
is used by the symbol facade.
2014-08-01 19:35:30 +02:00
Andreas Dangel e6ce96cc10 #1228 UnusedPrivateMethod returns false positives (4) 2014-07-31 21:19:55 +02:00
Andreas Dangel 4cef35c7f6 #1228 UnusedPrivateMethod returns false positives 2014-07-28 19:53:59 +02:00
Andreas Dangel c730c15d13 Verify #1228 UnusedPrivateMethod returns false positives 2014-07-26 10:34:47 +02:00
Andreas Dangel 6d7d0bffd3 Checkstyle, Javadoc, Whitespace 2014-07-26 10:33:48 +02:00
Andreas Dangel ce1dca1c2c Update pmd plugin version to 3.1 2014-07-25 18:50:41 +02:00
Andreas Dangel a7f8c102ba Checkstyle, Javadoc, Whitespace 2014-07-25 18:41:23 +02:00
Andreas Dangel d5eafec027 Checkstyle, Javadoc, whitespace 2014-07-24 17:52:43 +02:00
Andreas Dangel fe325afb7b Update changelog 2014-07-20 12:24:43 +02:00
Andreas Dangel 805d4d0f92 [maven-release-plugin] prepare for next development iteration 2014-07-20 10:41:26 +02:00
Andreas Dangel cfc3617a4f [maven-release-plugin] prepare release pmd_releases/5.1.2 2014-07-20 10:41:25 +02:00
Andreas Dangel f6534c20ad pmd: Prepare pmd release 5.1.2 2014-07-20 10:11:40 +02:00
Andreas Dangel de1a8049ff Update release process documentation 2014-07-20 10:08:47 +02:00
Andreas Dangel 0e7ed771a6 Fix documentation about "Violation Suppress XPath"
Thanks to Scott Santucci.
2014-07-20 09:56:15 +02:00
Andreas Dangel da9c987ccd Verify #1225 UselessParentheses rule executed on empty ruleset 2014-07-20 09:40:20 +02:00
Andreas Dangel a0f3cb1027 #1226 False Positive: UnusedPrivateMethod overloading with varargs 2014-07-20 09:21:22 +02:00
Andreas Dangel 52ed5e3b8d #1198 ConfusingTernary does not ignore else if blocks even when property is set 2014-07-19 18:41:38 +02:00
Andreas Dangel 30dc6dfc6b #1200 setRuleSets method javadoc mistype commands instead commas 2014-07-19 18:04:03 +02:00
Andreas Dangel af0cbddc39 #1201 Error "Can't find resource null" when ruleset contains spaces after comma 2014-07-19 17:59:48 +02:00
Andreas Dangel ef236facb8 #1202 StackOverflowError in RuleSetReferenceId 2014-07-19 17:38:18 +02:00
Andreas Dangel 383a08847b #1227 GuardLogStatementJavaUtil doesn't catch log(Level.FINE, "msg" + " msg") calls 2014-07-18 20:29:48 +02:00
Andreas Dangel be46a71078 #1203 Make GuardLogStatementJavaUtil configurable 2014-07-18 19:57:12 +02:00
Andreas Dangel b476588f08 #1205 More parse errors with lambda expressions 2014-07-18 18:57:25 +02:00
Andreas Dangel ec088bdc9b #1205 Parse error on lambda with if 2014-07-17 20:53:31 +02:00
Andreas Dangel f4d767d844 #1208 yahtml's outputDir property does not work 2014-07-16 20:24:22 +02:00
Andreas Dangel 63851dfe55 #1209 XPath 2.0 following-sibling incorrectly includes context node 2014-07-15 20:54:20 +02:00
Andreas Dangel 783175eb01 #1224 GuardDebugLogging broken in 5.1.1 - missing additive statement check in log statement 2014-07-15 19:40:36 +02:00
Andreas Dangel ee2645f6fc #1213 AvoidLiteralsInIfCondition -- switch for integer comparison with 0 2014-07-14 22:15:27 +02:00
Andreas Dangel 629eb02970 #1211 PMD is failing with NPE for rule UseIndexOfChar while analyzing Jdk 8 Lambda expression
Actually fixed with 8f89d5a05f
2014-07-13 22:45:05 +02:00
Andreas Dangel b9dc8557aa Merge branch 'AlanHohn-master' 2014-07-12 19:23:52 +02:00
Andreas Dangel 6cf811b3b5 Make CyclomaticComplexityRule a subclass of StdCyclomaticComplexityRule
to remove the now duplicated code.
2014-07-12 19:18:46 +02:00
Andreas Dangel 029359607a Remove manual isSuppressed implementation 2014-07-12 19:07:06 +02:00
Andreas Dangel 6cfdeefdf4 Update changelog 2014-07-12 18:28:35 +02:00
Andreas Dangel d2d8a80958 Merge branch 'master' of https://github.com/AlanHohn/pmd into AlanHohn-master 2014-07-12 18:09:28 +02:00
Andreas Dangel 325b0cf06d #1214 UseCollectionIsEmpty misses some usage 2014-07-12 17:53:15 +02:00
Andreas Dangel ccd77a9e78 #1215 AvoidInstantiatingObjectsInLoops matches the right side of a list iteration loop 2014-07-12 14:53:59 +02:00
Andreas Dangel 38575faffa #1216 AtLeastOneConstructor ignores classes with *any* methods 2014-07-12 11:57:27 +02:00
Andreas Dangel b2f3b6cd53 Update changelog 2014-07-12 10:28:46 +02:00
Andreas Dangel 2f1c7a36de #1217 SystemPrintln always says "System.out.print is used"
Improved test framework to be able to assert the messages
produced by a rule.
2014-07-12 10:28:35 +02:00
Andreas Dangel 4b94dff6cf whitespace 2014-07-12 09:51:31 +02:00
Andreas Dangel 60ac836e21 #1218 TooFewBranchesForASwitchStatement misprioritized 2014-07-12 09:51:22 +02:00
Andreas Dangel dd63fdbfbd #1219 PrimarySuffix/@Image does not work in some cases in xpath 2.0 2014-07-11 23:17:08 +02:00
Andreas Dangel 33cd507fad Fix #1221 OneDeclarationPerLine really checks for one declaration each statement 2014-07-10 20:55:05 +02:00
Andreas Dangel 8f89d5a05f UseIndexOfChar: fix null pointer with lambda expressions 2014-07-09 21:16:25 +02:00
Andreas Dangel e08d585db0 Fix #1223 UnusedPrivateMethod: Java 8 method reference causing false positives 2014-07-09 20:40:01 +02:00
Andreas Dangel 671ba3367a #1206 Update Changelog 2014-07-08 21:00:58 +02:00
Andreas Dangel 6cad92ba4a #1206 Add test 2014-07-08 21:00:44 +02:00
Scott Santucci e20ab1629f #1206 Make SummaryHTMLRenderer respect show suppressions settings 2014-07-08 21:00:25 +02:00
Alan Hohn 7c0ff5f873 Standard and modified cyclomatic complexity 2014-06-18 21:42:46 -05:00
Andreas Dangel 8c042e394d Add tests for slf4j logger in MoreThanOneLogger.
This adds slf4j-api as a test dependency.
2014-06-14 10:00:31 -04:00
Mark Adamcin a0f04106fe Add SLF4j Logger type to MoreThanOneLogger rule 2014-06-12 15:34:06 -07:00
Andreas Dangel 40802ef517 Update changelog 2014-05-02 10:28:40 +02:00
muminc ba69f8bc82 update to use asm 5.0.2 2014-05-02 01:45:14 +01:00
Andreas Dangel 60bb47df8b Fix #1181 unused import false positive if used as parameter in javadoc only. 2014-04-30 09:41:39 +02:00
Andreas Dangel 62a8070657 Fix #1192 Ecmascript fails to parse this operator " ^= " 2014-04-29 09:14:04 +02:00
Andreas Dangel 057f996e6f Prepare changelog for next version 2014-04-27 11:45:57 +02:00
Andreas Dangel f9063393d3 [maven-release-plugin] prepare for next development iteration 2014-04-27 08:23:21 +02:00
Andreas Dangel 242ea1065b [maven-release-plugin] prepare release pmd_releases/5.1.1 2014-04-27 08:23:21 +02:00
Andreas Dangel 9273d334ac Prepare pmd release 5.1.1 2014-04-27 08:01:36 +02:00
Andreas Dangel d52db39846 Merge branch 'pmd/5.1.x' 2014-04-27 07:45:13 +02:00
Andreas Dangel 6f61b41e20 Fix #1191 Ecmascript fails to parse "void(0)" 2014-04-26 19:13:15 +02:00
Andreas Dangel d03f5a339c Adding TodoComment checkstyle rule. 2014-04-26 18:11:51 +02:00
Andreas Dangel 3b47b5d408 Checkstyle fixes. 2014-04-26 18:07:43 +02:00
Andreas Dangel 324f5707d2 Fix changelog layout 2014-04-26 17:53:13 +02:00
Andreas Dangel b2b02a69a4 Checkstyle fixes 2014-04-26 17:46:49 +02:00
Andreas Dangel dcb7668c57 Update changelog 2014-04-26 11:51:20 +02:00
Andreas Dangel 22647630b7 Merge branch 'commentrequired-enums' of https://github.com/igniti-gmbh/pmd into igniti-gmbh-master 2014-04-26 11:48:36 +02:00
Andreas Dangel 85d8660c6d Merge branch 'master' of https://github.com/igniti-gmbh/pmd into igniti-gmbh-master 2014-04-26 11:47:16 +02:00
Andreas Dangel f0346a9aee Verify #1189 GuardLogStatementRule and GuardDebugLoggingRule broken for log4j2 2014-04-23 16:54:39 +02:00
Andreas Dangel 0796dad74e Fix #1188 False positive in UnusedPrivateField 2014-04-23 16:29:57 +02:00
Alexander Stillich 785f01b0fa Added support for enums in CommentRequiredRule and extended corresponsing test 2014-04-16 14:33:11 +02:00
Alexander Stillich dbddeb01f1 Fixed NPE in ConsecutiveAppendsShouldReuseRule.getVariableAppended() which was triggered with the dogfood ruleset 2014-04-16 13:29:32 +02:00
Andreas Dangel 8694a26caf Fix #1167 Error while processing PLSQL file with BOM 2014-04-13 10:48:20 -04:00
Andreas Dangel 6eb8f84769 Fix #1165 SimplifyConditional false positive 2014-04-13 09:44:17 -04:00
Andreas Dangel 4bcef67b42 Fix #1185 UnusedModifier throws NPE when parsing enum with a nested static interface 2014-04-13 09:43:58 -04:00
Andreas Dangel 0f72ff41d9 Deleted all the folders that have been moved out into own repositories.
pmd-eclipse-plugin -> https://github.com/pmd/pmd-eclipse-plugin
pmd-jdeveloper* -> https://github.com/pmd/pmd-jdeveloper
website -> https://github.com/pmd/pmd.sourceforge.net
pmd-emacs -> https://github.com/pmd/pmd-emacs
everything else -> https://github.com/pmd/pmd-misc
2014-04-12 19:50:56 -04:00
Andreas Dangel 24c9bb9de9 Add test for AbstractCommentRule 2014-04-12 10:00:18 -04:00
Andreas Dangel 1fcc5ceeae Merge branch 'comment-fixes' of https://github.com/igniti-gmbh/pmd into igniti-gmbh-comment-fixes 2014-04-12 09:40:12 -04:00
Stuart Turton db000f3ad0 DBURI - add more feedback for problems returning DataSources from DBURIs 2014-04-11 20:37:12 -04:00
Stuart Turton 5ad79006ab PLSQL - Add InlinePragma class to support PRAGMA INLINE( method , ('YESY'|'NO') ) statement 2014-04-11 20:37:05 -04:00
Stuart Turton a12bc08c3b PLSQL - remove commented out Java Rule for PLSQ code size.xml Rules file 2014-04-11 20:36:57 -04:00
Andreas Dangel 423ac78d91 Enable PLSQL XPath Rule TooManyMethods 2014-04-11 20:34:42 -04:00
Stuart Turton 9a61116259 Incorporate PLDoc changes:-
Adding [EDITIONABLE|NONEDITIONABLE] keyword broke LOOKAHEAD Increase
QuickFix for Inline PRAGMA compiler instruction (support clause without adding new AST Type)
2014-04-11 20:24:11 -04:00
Andreas Dangel 2b11c5e1f2 Fix #1166 PLSQL XPath Rules Fail for XPath 1.0 2014-04-11 20:19:56 -04:00
Stuart Turton 06057f17ee PLSQL- Add minimal XPathHandler to PLSQLHandler in order to avoid NPE in XPath rules for XPath 1.0. 2014-04-11 20:06:49 -04:00
Andreas Dangel 1e3dbdb357 Add unit test for bug #1166 PLSQL XPath Rules Fail for XPath 1.0 2014-04-11 20:06:14 -04:00
Alexander Stillich e42bc43287 Fix comments between other comments being wrongly assigned:
/** Comment 1 */
	public void method1() {}

	/** Comment 2 */

	/** Comment 3 */
	public void method2() {}

Would assign Comment 2 to method2, should assign Comment 3.

Also added support for enums in AbstractCommentRule.orderedCommentsAndDeclarations().
2014-04-10 15:54:37 +02:00
Andreas Dangel 1aa11e5ee7 Fix unit test DesignerTest so that it runs in headless mode, too. 2014-04-07 21:02:11 -04:00
Andreas Dangel e8e7420027 Document that PMD requires java 1.6 2014-04-07 20:05:01 -04:00
Andreas Dangel 4dd18721c1 pmd: fix #1168 Designer errors when trying to copy xml to clipboard 2014-04-04 18:32:09 -04:00
Andreas Dangel 552acfd0c1 pmd: fix #1180 False Positive for ConsecutiveAppendsShouldReuse on different variable names 2014-04-03 20:20:28 -04:00
Andreas Dangel bc4f7cc1c2 pmd: fix #1177 Incorrect StringBuffer warning when that class is not used 2014-04-03 19:33:01 -04:00
Andreas Dangel 36fc87c3c8 pmd/cpd: add skipLexicalErrors and skipDuplicateFiles to CPD's ant task 2014-04-02 21:29:57 -04:00
Andreas Dangel 12adae6034 pmd: fix #1178 LexicalError while parsing Java code aborts CPD run 2014-04-02 20:22:34 -04:00
Andreas Dangel 88ee9c47d8 pmd: fix #1176 ShortVariable false positive with for-each loops 2014-03-30 16:58:26 -04:00
Andreas Dangel e54b6dd22f pmd: fix #1173 Java 8 support: method references 2014-03-30 09:32:10 -04:00
Andreas Dangel e0ece8f82a pmd: fix #1170 false positive with switch in loop 2014-03-29 19:49:38 -04:00
Andreas Dangel 7a806df932 pmd: verify #1173 Java 8 support: method references 2014-03-29 19:34:15 -04:00
Andreas Dangel 87989b524a pmd: fix #1175 false positive for StringBuilder.append called 2 consecutive times 2014-03-29 19:18:46 -04:00
Andreas Dangel 6e1927ee2a pmd: fix #1171 Specifying minimum priority from command line gives NPE 2014-03-29 16:51:21 -04:00
Andreas Dangel f0049c5946 pmd: format source, no changes 2014-03-29 16:44:57 -04:00
Andreas Dangel 21750b9bc4 pmd: update release process documentation
pmd.website.baseurl is set correctly if the profile "pmd-release" is used
  during releasing
2014-02-12 20:46:58 +01:00
Andreas Dangel 4aee867fc2 [maven-release-plugin] prepare for next development iteration 2014-02-11 21:32:12 +01:00
Andreas Dangel 79a9af14f2 [maven-release-plugin] prepare release pmd_releases/5.1.0 2014-02-11 21:30:13 +01:00
Andreas Dangel c7bba5bf26 pmd: Update changelog for next development version 2014-02-11 20:26:15 +01:00
Andreas Dangel b970324b97 pmd: Prepare pmd release 5.1.0 2014-02-11 20:26:15 +01:00
Andreas Dangel d36190ea7c pmd: Prepare next development version 5.2.0-SNAPSHOT 2014-02-11 20:26:15 +01:00
Andreas Dangel 83552fb843 pmd: Fix rulesets not meeting pmd conventions 2014-02-11 20:26:08 +01:00
Andreas Dangel f4343f6b19 pmd: update documentation about new supported languages. 2014-02-09 09:37:19 +01:00
Andreas Dangel c011fc6dd1 pmd: fix #1054 XML Rules ever report a line -1 and not the line/column where the error occurs 2014-02-08 22:46:55 +01:00
Andreas Dangel 93a46d17e7 pmd: fix #1045 //NOPMD not working (or not implemented) with ECMAscript 2014-02-02 22:37:15 +01:00
Andreas Dangel ec0471cebe pmd: fix #1164 Violations are not suppressed with @java.lang.SuppressWarnings("all") 2014-02-02 13:21:30 +01:00
Andreas Dangel 8aa83291c0 pmd: update changelog 2014-02-02 12:12:10 +01:00
Andreas Dangel 08041af650 pmd: fix #1124 PMD.run() multithreading issue 2014-02-02 12:09:55 +01:00
Andreas Dangel 8482948518 pmd: fix #1120 equalsnull false positive 2014-02-02 11:51:59 +01:00
Andreas Dangel a0a7f58dec pmd: verify #1122 parse error at class.super 2014-02-02 11:18:42 +01:00
Andreas Dangel 29a139797c pmd: verify #1143 ShortClassName fires with a 5-letter class name 2014-02-02 11:14:31 +01:00
Andreas Dangel 8607d02120 pmd: fix #1146 UseArrayListInsteadOfVector false positive when using own Vector class 2014-02-02 11:11:07 +01:00
Andreas Dangel 8e8cec667e pmd: fix #1125 Missing Static Method In Non Instantiatable Class 2014-02-02 10:54:03 +01:00
Andreas Dangel 5b52ba642c pmd: fix #1126 False positive with FieldDeclarationsShouldBeAtStartOfClass for static enums 2014-02-02 10:33:31 +01:00
Andreas Dangel bbb36686b9 pmd: fix #1147 EmptyMethodInAbstractClassShouldBeAbstract false positives 2014-02-01 19:47:43 +01:00
Andreas Dangel c0efb45c10 pmd: verify #1149 getBeginLine and getEndLine not working (ECMAScript) 2014-02-01 19:31:27 +01:00
Andreas Dangel ab158fe19f pmd: fix #1150 "EmptyExpression" for valid statements! 2014-02-01 19:15:06 +01:00
Andreas Dangel 86d9c1060c pmd: fix #1154 Call super onPause when there is no super 2014-02-01 18:56:30 +01:00
Andreas Dangel cc27363c97 pmd: verify #1156 False failure with "Avoid unused private methods" 2014-02-01 18:42:22 +01:00
Andreas Dangel aad969665f pmd: fix #1159 false positive UnusedFormalParameter readObject(ObjectInputStream) if not used 2014-02-01 18:36:07 +01:00
Andreas Dangel dff3d181f9 pmd-eclipse: update release notes 2014-02-01 13:02:04 +01:00
Andreas Dangel 8cac431226 Merge branch 'project-ruleset-workspace-path' of github.com:robinst/pmd 2014-02-01 12:53:38 +01:00
Andreas Dangel 4e30abe315 Merge branch 'preference-keyword' of github.com:robinst/pmd 2014-02-01 12:52:32 +01:00
Andreas Dangel 964f6933e1 pmd: update changelog 2014-02-01 12:50:03 +01:00
Andreas Dangel d9064e6956 Merge branch 'cpd_concurrency' of github.com:golpira/pmd into golpira-cpd_concurrency 2014-02-01 12:46:47 +01:00
Andreas Dangel 1a48102d9a pmd: register plsql dates ruleset 2014-02-01 12:44:16 +01:00
Andreas Dangel dc945f78b2 Merge branch 'master' of github.com:sturton/pmd into sturton-master 2014-02-01 11:37:45 +01:00
Andreas Dangel 570d6cedc6 pmd: enable some ignored tests and remove System.out in tests... 2014-02-01 11:34:12 +01:00
Andreas Dangel 2624b6b3ea pmd: add test code that cannot be parsed, but is valid java 8 code. 2014-02-01 10:09:01 +01:00
Andreas Dangel ee708b42ea pmd: add intersectionTypes flag to ASTCastExpression 2014-01-31 22:33:04 +01:00
Andreas Dangel 6355c1f6f4 pmd: adjust variable declarator id for missing type node in case
of lambda expressions.
2014-01-31 19:38:05 +01:00
Andreas Dangel 6dc3701cc8 pmd: add java 8 syntax for type annotations 2014-01-30 23:13:12 +01:00
Andreas Dangel 9fbaf13bd9 pmd: fix unit tests after changing default java version to 1.8. 2014-01-30 20:44:41 +01:00
Andreas Dangel 64ab7b78e7 pmd: Improve java 8 parser 2014-01-30 20:36:40 +01:00
Robin Stocker 4de96d5dd2 pmd-eclipse: Support workspace-relative path in ruleSetFile property
When using multiple projects that want to share the rule set definitions
in a single file, it's currently only possible to reference the shared
file using an absolute path. The downside of the absolute path is that
it is different for each developer, so the resulting .pmd file can not
be committed in the repository.

To fix this, this change also tries to resolve the path against the
workspace root, so e.g. "/foo/.ruleset" can be used to refer to the
.ruleset file in the foo project.

Such a path can be ambiguous to an absolute file system path, but in
practice it should not be a problem. An alternative solution would be to
support variables (as known from Eclipse run configurations) such as
"${project_loc:foo}" in the path.
2014-01-29 13:35:47 +01:00
Robin Stocker 5f9598815f pmd-eclipse: Add "PMD" keyword to all preference pages
Otherwise the subpages are not shown when searching for "PMD" in the
preferences.
2014-01-29 12:31:29 +01:00
Andreas Dangel bef23a8d2d pmd: use java 8 as default version of java. 2014-01-28 22:28:00 +01:00
Andreas Dangel bfa925a44f pmd: feature #1161 Confusing Ternary should skip else if statements (or have a property to do so) 2014-01-27 20:35:46 +01:00
Andreas Dangel b3af64fa52 pmd: update changelog for java 1.8 support. 2014-01-26 20:17:23 +01:00
Andreas Dangel 65864b6189 pmd: fix java 8 grammar with LambdaExpression to not be confused with Expression 2014-01-26 20:10:16 +01:00
Andreas Dangel 350d0c3cfc pmd: improve java parse exceptions - tell, where the parse exception occurred. 2014-01-26 19:47:17 +01:00
Andreas Dangel 9ba87965ca pmd: Integrate LambdaExpressions in java symboltable.
Lambda parameters are not added to the local scope's symbol table.
2014-01-26 12:29:05 +01:00
Andreas Dangel e57eb66c55 pmd: add Java language version 1.8 and enable checks in grammar/parser. 2014-01-26 12:00:12 +01:00
Andreas Dangel a49391f3f5 pmd: Adjust grammar to not break other parsing corner cases with java 8 enhancements. 2014-01-26 11:52:15 +01:00
Andreas Dangel 88d766ee8b pmd: Extend java grammar to support Java 8 language features. 2014-01-25 19:47:49 +01:00
Andreas Dangel 9b91690f21 pmd: make pmd jdk8 ready
* Upgrade asm so that it understands jdk8 class files
2014-01-23 22:46:02 +01:00
David Golpira 8c0a4f6e4f Changed TokenEntry to use ThreadLocal.
Two static fields are now stored in ThreadLocal.  This allows
multiple instances of CPD to run concurrently without stepping
on each other (eg: multi-module Maven projects.)
2014-01-23 01:08:24 -05:00
Stuart Turton 5f02803d78 CPD: add getter for all identified or added Sources 2014-01-10 22:05:12 +00:00
Stuart Turton f7b61616ea CPD: Rename List<String> getSources() to getSourcePaths() 2014-01-10 21:58:14 +00:00
Stuart Turton 28449e7f71 XPATH - make DocumentNavigator more robust 2014-01-09 00:03:33 +00:00
Stuart Turton 61c25b793e CPD- add getter for list of Source paths 2014-01-08 23:59:31 +00:00
Stuart Turton faa035b1c1 PMD-PLSQL - derive different faux-filename suffices for package/type specifications and bodies
-  Add rules for date
2014-01-08 23:47:05 +00:00
Andreas Dangel 4d9b7b0f8b pmd: checkstyle fixes 2014-01-05 15:17:20 +01:00
Andreas Dangel 36224a5ef7 pmd: checkstyle fixes 2014-01-05 14:48:16 +01:00
Andreas Dangel bc47a7109e pmd: checkstyle fixes 2014-01-03 14:51:51 +01:00
Andreas Dangel 9bf3895a48 pmd: update changelog and integrate it into the site
* The changelog uses now markdown for formatting
2014-01-03 11:55:46 +01:00
Andreas Dangel 7ec06b3adb pmd: review Velocity pull request
* Introduced AbstractVmNode (formerly SimpleNode)
* Added VmNode interface
* Added PMD's license header to the rule implementations, etc.
* Added rulesets.properties file for velocity rules
* Added externalInfoUrl to the rules
* Added Apache License info
2014-01-02 18:46:39 +01:00
Andreas Dangel 4fe4b40279 Merge branch 'master' of github.com:andrey81inmd/pmd into velocity
Conflicts:
	pmd/src/main/ant/alljavacc.xml
	pmd/src/main/java/net/sourceforge/pmd/lang/LanguageVersion.java
2014-01-02 10:10:17 +01:00
Andreas Dangel cce09d0f64 Merge branch 'm2e-error' of github.com:robinst/pmd 2014-01-02 10:06:36 +01:00
Andreas Dangel 388b1f5e65 pmd: code cleanups - no functional change
* checkstyle and pmd dogfood
2014-01-01 11:12:32 +01:00
Andreas Dangel 687eadbb10 pmd: update maven-pmd-plugin to 3.0.1 2013-12-31 16:06:07 +01:00
Andreas Dangel 75addab584 pmd: add howto about adding new languages to PMD. Thanks to Andrey Utis. 2013-12-31 16:06:07 +01:00
Andreas Dangel 0dd9ffb390 pmd: add markdown as additional documentation language 2013-12-31 16:05:12 +01:00
Andreas Dangel 6fd188a2ab pmd: Reviewed plsql pull request
* reworked symboltable implementation of plsql to use the refactored
general interfaces
2013-12-31 16:01:58 +01:00
Andreas Dangel d8ec3bfd39 Merge branch 'master' into plsql 2013-12-31 15:58:08 +01:00
Andreas Dangel 6a09146169 Merge branch 'symboltable' 2013-12-31 15:50:32 +01:00
Andreas Dangel 7d455c0064 pmd: update changelog with symboltable API changes 2013-12-25 10:20:31 +01:00
Andreas Dangel 5ed9bd8a0a pmd: move ScopedNode into the symboltable package 2013-12-25 10:19:50 +01:00
Andreas Dangel 93a5d77184 pmd: update changelog and add test for bug #1155 2013-12-23 13:17:34 +01:00
Henning Schmiedehausen c1cb3bfb5e Fix NPE with empty rulesets.
This is the fix for bug #1155 (https://sourceforge.net/p/pmd/bugs/1155/)

The whole code is in dire need of revisiting its behaviour when a
value is null or empty. Same goes for e.g. createRules whether it
should return null values (then the caller will have to deal with it)
or empty Rulesets.

Catching and discarding the rule not found exception looks pretty
suspicious.
2013-12-23 13:10:48 +01:00
Andreas Dangel e2b5b3753e pmd: add changelog and test for #1144 2013-12-23 13:09:33 +01:00
Andreas Dangel d4719914fa pmd: Refactor designer to not be Java specific anymore 2013-12-22 18:44:33 +01:00
Andreas Dangel 036cd3c143 pmd: Refactor rule implementation to use new generic symboltable 2013-12-22 18:44:33 +01:00
Andreas Dangel eee76b0248 pmd: Refactor java's symboltable implementation to use the new generic base classes 2013-12-22 18:44:32 +01:00
Andreas Dangel 1354f6f1fa pmd: Add basic/abstract implementations for Scope and NameDeclaration 2013-12-22 18:44:32 +01:00
Andreas Dangel a10c7dc78e pmd: Introduce generic Scope, NameDeclaration and NameOccurrence 2013-12-22 18:44:32 +01:00
Andreas Dangel 7f3a949935 pmd: Correct usage of generic ParseException 2013-12-22 18:44:32 +01:00
Andreas Dangel dee9df77c6 pmd: Refactor DFA and Designer, so that DFA is not Java specific 2013-12-22 18:44:32 +01:00
Robin Stocker 8412e5eb62 pmd-eclipse: Relax versionRange in pluginExecutionFilter for m2e 2013-11-30 15:17:07 +01:00
Pelisse Romain aea2504b2b Merge pull request #29 from hgschmie/master
Bring back the old CPDConfiguration constructor
2013-11-26 14:21:05 -08:00
Henning Schmiedehausen 8ad4a6a375 Bring back the old CPDConfiguration constructor; removing it will break
at least the maven pmd plugin which uses it.
2013-11-26 10:19:22 -08:00
Robin Stocker eb31689e26 pmd-eclipse: Fix "maven-dependency-plugin ... is not supported by m2e"
After importing the projects into Eclipse, m2e had the following error:

maven-dependency-plugin (goals "copy-dependencies", "unpack") is not
supported by m2e.

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

Note: this change also adds a maven dependency on Mockito 1.9.5 (scope:
test). Mockito helps creating mock objects and makes the test more
readable.
2013-03-24 17:53:40 +01:00
Philip Graf 46a57aa3ab Make ReportTree implement Iterable<RuleViolation>
With this change we can easily iterate over a ReportTree using the
for-each loop of Java 5 instead of using ReportTree.iterator().
2013-03-24 11:48:39 +01:00
Philip Graf 8dc8607102 Set variableName for a java violation with an ASTFormalParameter node
Extends JavaRuleViolation to also set the member "variableName" when the
provided node is of type ASTFormalParameter.
2013-03-24 11:48:27 +01:00
Stuart Turton 782135b18a PMD-DB Add support for passing connection parameters via DBURI parameters and DBType properties with this priority (highest to lowest):-
explicit properties or explicit user and password
DBURI parameters
DBType properties

Update comments
2013-03-23 22:35:10 +00:00
Pelisse Romain 36c8a31cd2 Merge pull request #14 from codecop/NPEx-JSP-Master
Nice catch ! Thanks for the fix !!!
2013-03-23 07:52:04 -07:00
Peter Kofler 59e7c2dd0c fix Nullpointer Exception when using -l jsp 2013-03-23 15:42:02 +01:00
Stuart Turton 584743234c PMD- DBURI changes - add getDataSourceName() to avoid calling getNiceFileName(….) with ignored parameters 2013-03-23 00:41:18 +00:00
Stuart Turton 5e1f79148f PMD-PLSQL: map TYPE and PACKAGE DBA_OBJECTS.OBJECT_TYPE values to DBMS_METADATA.GET_DDL TYPE_SPEC and PACKAGE_SPEC parameter values respectively - unchanged these values return both the specification and body objects. 2013-03-23 00:39:06 +00:00
Stuart Turton ace4fa4b46 PMD-PLSQL: comment out TooManyMethods because it throws a NULL pointer exception when used (works in PLSQLDesigner) 2013-03-23 00:35:48 +00:00
Stuart Turton 4034dbbe39 PMD - add helper method getURIDataSources to simplify use of DBURIs from maven-pmd-plugin 2013-03-21 19:45:45 +00:00
Stuart Turton 0d8b89aeeb CPD - refactor to simplify use of DBURIs from maven-pmd-plugin 2013-03-21 19:44:15 +00:00
Stuart Turton c58ad5603c PMD-DB - correct test defaults 2013-03-19 02:01:22 +00:00
Stuart Turton 42193382a1 Add some DBType property files used in tests 2013-03-19 01:25:09 +00:00
Andreas Dangel d24a2651cb pmd: fix #1027 PMD Ant: java.lang.ClassCastException 2013-03-17 11:59:00 +01:00
Andreas Dangel 2f53a3e795 pmd: fix #999 Law of Demeter: False positives and negatives 2013-03-17 11:03:02 +01:00
Andreas Dangel c8bf5d46a8 pmd: fix #975 false positive in ClassCastExceptionWithToArray 2013-03-17 10:11:02 +01:00
Andreas Dangel d7bdb79cdd pmd: fix #968 Issues with JUnit4 @Test annotation with expected exception
Thanks to Yiannis Paschalidis
2013-03-17 09:56:02 +01:00
Andreas Dangel 7947282704 pmd: verify #962 MethodReturnsInternalArray: False positive using a ternary operator 2013-03-16 22:09:36 +01:00
Andreas Dangel 4388806404 pmd: fix #976 UselessStringValueOf wrong when appending character arrays 2013-03-16 19:51:06 +01:00
Andreas Dangel 8ea9d29f31 pmd: fix #977 MisplacedNullCheck makes false positives 2013-03-16 19:17:48 +01:00
Andreas Dangel 72d07a8e7e pmd: fix #985 Suppressed methods shouldn't affect avg CyclomaticComplexity 2013-03-16 18:09:25 +01:00
Andreas Dangel c3e148174c pmd: fix #984 Cyclomatic complexity should treat constructors like methods 2013-03-16 17:15:40 +01:00
Andreas Dangel 22a2db080f pmd (site): add links to the rules from the rule index page 2013-03-16 15:22:31 +01:00
Andreas Dangel 0125e7a03b pmd (site): add missing default values of properties for documentation 2013-03-16 13:58:32 +01:00
Andreas Dangel 370ed23e01 pmd: fix #991 AvoidSynchronizedAtMethodLevel for static methods 2013-03-16 12:22:10 +01:00
Andreas Dangel dcaf06303c pmd: fix #997 Rule NonThreadSafeSingleton gives analysis problem 2013-03-16 12:05:05 +01:00
Andreas Dangel 54cab5de42 pmd: fix #992 Class java.beans.Statement triggered in CloseResource rule 2013-03-16 11:40:15 +01:00
Stuart Turton a8cb39b313 Add BSD licensing boilerplate 2013-03-15 22:44:17 +00:00
Stuart Turton dfaca12bd3 PMD- add command line support for (database) URI source code location 2013-03-15 21:49:26 +00:00
Andreas Dangel bb083a7685 pmd: fix NPE in ConstructorCallsOverridableMethodRule 2013-03-15 21:54:02 +01:00
Andreas Dangel ea06bd063f pmd: switch to java 1.6
we already depend on it, e.g. jcommander requires a java 1.6 JRE
2013-03-15 21:49:28 +01:00
Andreas Dangel 7ae1e9c6dc pmd: fix #1032 ImmutableField Rule: Private field in inner class gives false positive
Improved symbol table resolution to check inner classes, too.
2013-03-15 21:37:02 +01:00
Andreas Dangel 2c5b6e1fdb pmd: verify #254 False+ : UnusedImport with Javadoc @link 2013-03-14 21:47:06 +01:00
Andreas Dangel 0739c2f601 pmd: fix #1005 False + for ConstructorCallsOverridableMethod - overloaded methods
It won't be perfect, but for constructor calls and method calls a
simple check of the argument types is done. Primitive types are
distinguished, reference types not.
In order to support all cases, full symbol resolution is needed.
2013-03-14 20:48:05 +01:00
Andreas Dangel 3ce242c179 pmd: cleanup design test cases 2013-03-13 20:31:33 +01:00
Andreas Dangel 3bf8eb9d1f pmd: #1002 False +: FinalFieldCouldBeStatic on inner class 2013-03-13 20:02:22 +01:00
Stuart Turton 9d302ed969 Merge branch 'master' of git://github.com/pmd/pmd
Conflicts:
	pmd/src/main/java/net/sourceforge/pmd/cpd/GUI.java
	pmd/src/main/java/net/sourceforge/pmd/cpd/LanguageFactory.java

Also:
Add ability to read source code via JDBC
net/sourceforge/pmd/util/database
CPD has been modified
2013-03-10 21:55:44 +00:00
Andreas Dangel 511fd6fb58 pmd: fix #1073 Hard coded violation messages CommentSize 2013-03-10 09:48:11 +01:00
Andreas Dangel 4f1cfd6125 pmd: fix #1074 rule priority doesn't work on group definitions
and verify #1067 Custom Ruleset doesn't import the complete ruleset anymore by reference
2013-03-09 17:51:06 +01:00
Andreas Dangel 6426deca6b pmd: add versions maven plugin 2013-03-05 22:32:53 +01:00
Andreas Dangel 5b3405d93b pmd: fix changelog version info 2013-03-05 22:32:44 +01:00
Andreas Dangel 9623d61310 pmd: fixed #1064 Exception running PrematureDeclaration 2013-03-05 22:30:03 +01:00
Romain PELISSE d675790e58 Redesign GuardLogStatement:
Turns out that the implementation based on the one published by Heiko Rupp
could simply not catch all the case in our test suite. I therefore opted to
backport the previous implementation - a simple Xpath rule, from GuardDebugLogStmt
into a java class.
Performance are not as good as the one based on Heiko's proposal, but it still
twice faster as the simple GuardDebogLogStmt (instead of five times faster). However,
correctness is in this case more important.
2013-03-03 19:19:51 -05:00
Romain PELISSE bac738c01a GuardLogStatement: small docs fixes 2013-03-01 18:29:48 -07:00
Romain PELISSE 6576056eaf Merge changelog 2013-03-01 18:20:44 -07:00
Romain PELISSE 42d51ad423 Enhance GuardDebugLogging:
- replace xpath implementation by newly created GuardLogStatementRule
- increase performance by 5 (from 0.5s to 0.1s)
2013-03-01 18:19:31 -07:00
Romain PELISSE f2f31990aa Enhance GuardLogStatement:
- add property support to specify which statement needs to be checked
- move out of the java logging to be placed in logging-jakarta
2013-03-01 18:19:31 -07:00
Romain PELISSE 4bce034c33 Add GuardLogStatement
Based on Heiko Rupp implemetation: http://pilhuhn.blogspot.com/2008/09/pmd-rule-to-check-for-unguarded.html
2013-03-01 13:34:00 -07:00
Andreas Dangel 45d10aaa7c pmd: fixed #1068 CPD fails on broken symbolic links 2013-03-01 19:52:41 +01:00
Andreas Dangel d9f8e62d3c pmd: verify #1047 False Positive in 'for' loops for LocalVariableCouldBeFinal 2013-03-01 19:06:01 +01:00
Romain PELISSE a90e9fed0b Add new ecmascript rules to changelog 2013-02-28 16:34:48 -07:00
Romain PELISSE c36b3c47c9 ecmascript: UseBaseWithParseInt
Add a new rule called UseBaseWithParseInt in the basic
new ruleset, for EcmaScript.

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

Done while during the Java Posse Round up 2013 workshop:
'Make Javascript a better world with PMD'
2013-02-28 16:18:41 -07:00
Jaroslav Snajberk 2a01a33f79 Missed bug #1048
I missed bug #1048 fix and used older version.
2013-02-15 11:43:05 +01:00
Jaroslav Snajberk b49ea5a923 CommentRequiredRule implementation
This is implementation of missing CommentRequiredRule. First it uses
AbstractCommentRule to pair comments with declarations, later it checks
presence of comments in these declarations.
2013-02-15 09:29:32 +01:00
Andreas Dangel 7712690d55 pmd: update release docu 2013-02-03 19:20:18 +01:00
Andreas Dangel 3438796471 pmd: update website for 5.0.2 2013-02-03 19:19:58 +01:00
Andreas Dangel 5e522fccd1 pmd: set release date for 5.0.2 2013-02-03 18:26:21 +01:00
Andreas Dangel c3f3adbd4c pmd: update changelog for 5.0.2/5.1.0 2013-02-03 15:30:20 +01:00
Andreas Dangel b0e6810b58 pmd: verify empty if statement example 2013-02-03 15:18:52 +01:00
Torsten Kleiber 0524752248 Fix for bug #1056 "Error while processing" while running on xml file with DOCTYPE reference
Change the initial value of XINCLUDE_AWARE_DESCRIPTOR to false
This does validate an invalid doctype reference as in some ide generated xml files exist.
Any xml rule, which needs this property should overwrite this value with true.
2013-01-31 21:52:13 +01:00
Romain PELISSE db05bcb8a7 pmd: AntTask support for language
- fix  #1004 targetjdk isn't attribute of PMD task
- introduce a new element, called <language>, that replaces the already existing <version/> element
2013-01-29 12:22:08 +01:00
Romain PELISSE 9954f1d8e1 pmd: fix typo in ReadMe.txt 2013-01-28 00:54:18 +01:00
Romain PELISSE b1cae214cd pmd: fix #1004 targetjdk isn't attribute of PMD task 2013-01-28 00:53:41 +01:00
Romain PELISSE 5ffb5bc8c2 Merge branch 'master' of github.com:pmd/pmd 2013-01-26 20:23:50 +01:00
Romain PELISSE 167c4da9ba pmd: fix #1049 Errors in "How to write a rule" 2013-01-26 20:23:36 +01:00
Andreas Dangel 302bfe41fd pmd: configure surefire to run tests in alphabetical order, so that test failure are better reproducible 2013-01-26 20:03:39 +01:00
Andreas Dangel 6e01b91a73 pmd: fix #1030 CPD Java.lang.IndexOutOfBoundsException: Index: 2013-01-26 20:01:14 +01:00
Andreas Dangel 3f10a9ecb8 pmd: verify #946 ImmutableField false + 2013-01-26 15:50:56 +01:00
Andreas Dangel c2a20a9337 pmd: fixed #947 CloseResource rule fails if field is marked with annotation 2013-01-26 15:43:46 +01:00
Andreas Dangel ddb5c23926 pmd: verify #956 PMD Parse Exception 2013-01-26 15:34:20 +01:00
Andreas Dangel 45e2caae20 pmd: verify #1029 No instance level check in the close resource rule 2013-01-26 15:27:55 +01:00
Andreas Dangel 49b8e206d0 pmd: fixed #1011 CloseResource Rule ignores Constructors 2013-01-26 15:25:05 +01:00
Andreas Dangel 0344555956 pmd: fixed #1007 Parse Exception with annotation 2013-01-26 14:28:29 +01:00
Andreas Dangel c5ed215332 pmd: fixed #1046 ant task CPDTask doesn't accept ecmascript 2013-01-26 12:08:41 +01:00
Andreas Dangel cbadb87c0a pmd: fixed #1039 pmd-nicerhtml.xsl is packaged in wrong location 2013-01-26 11:45:21 +01:00
Andreas Dangel ebe8e5a5b5 pmd website: add fallback redirect to pmd-4.3.0 2013-01-26 11:14:20 +01:00
Andreas Dangel 4c4adcfdb8 pmd: update rule-guidelines to changed package names 2013-01-26 10:38:58 +01:00
Andreas Dangel 106ef1b1c4 pmd: fixed #1028 False-positive: Compare objects with equals for Enums 2013-01-24 19:28:17 +01:00
Andreas Dangel bf087132f8 pmd: verify #1020 Parsing Error 2013-01-24 18:59:07 +01:00
Andreas Dangel 721f79268f pmd: fixed #913 SignatureDeclareThrowsException is raised twice 2013-01-23 21:44:32 +01:00
Andreas Dangel 08a04bd16b pmd: fixed #878 False positive: UnusedFormalParameter for abstract methods 2013-01-23 21:24:36 +01:00
Andreas Dangel 77a6802621 pmd: fixed #1055 Please add a colon in the ant output after line,column for Oracle JDeveloper IDE usage 2013-01-21 21:18:18 +01:00
Andreas Dangel 83cbf65bdb pmd: verify #1057 False positive for UnnecessaryWrapperObjectCreation 2013-01-21 20:40:46 +01:00
Andreas Dangel b4db0afedd pmd: verify #1058 False positive for VariableNamingConventions 2013-01-19 19:25:22 +01:00
Andreas Dangel 4b0449fcf3 pmd: fixed #1059 Change rule name "Use Singleton" should be "Use Utility class" 2013-01-19 19:10:34 +01:00
Andreas Dangel a5e0dc9c7b pmd: fixed bug #1012 False positive: Useless parentheses. 2013-01-19 18:49:19 +01:00
Andreas Dangel 10a38d44f4 pmd: fixed #1060 GodClassRule >>> wrong method 2013-01-19 18:28:33 +01:00
Andreas Dangel c40fe0b7fb Removed pmd-jedit. JEdit's PMD Plugin has moved into an own repository at jedit.sf.net.
See http://jedit.git.sourceforge.net/git/gitweb.cgi?p=jedit/PMDPlugin;a=summary
2013-01-13 19:31:07 +01:00
Andreas Dangel 85d301bb86 Revert "merge from master"
This reverts commit df199cd2a0.
2013-01-13 19:17:44 +01:00
Stuart Turton da68c9c6d3 Use Apache Commons IOUtils 2013-01-06 19:21:39 +00:00
Stuart Turton 9278e565aa Merge branch 'master' of git://github.com/pmd/pmd
Conflicts:
	pmd/src/test/java/net/sourceforge/pmd/ast/ParserCornersTest.java
2013-01-06 19:19:53 +00:00
Stuart Turton cfd4a980bd Set Image for BooleanLiteral and NullLiteral 2013-01-06 18:19:16 +00:00
Stuart Turton 718e918777 PLSQL: Alter Naming and Scope class changes to reflect adangel's refactoring 2013-01-06 16:18:13 +00:00
Stuart Turton b27d17f064 Support FORCE keyword in CREATE OR REPLACE TYPE (from PLDoc bug-fix) 2013-01-06 16:13:03 +00:00
Philip Graf 7fd86d9fdd pmd: fix ignored property minimumLength of rule AvoidDuplicateLiterals
The rule AvoidDuplicateLiterals ignores its property minimumLength
because it is set not until after the source code has been analyzed.
This change sets the property before the analysis.
2013-01-04 02:07:10 +01:00
Dale Anson 473f5605b0 Documentation and javadoc updates. 2013-01-01 12:19:21 -07:00
Dale Anson d56bd5b8a0 Added service for status bar to automatically install the progress bar. 2013-01-01 12:17:58 -07:00
Dale Anson 1977db4c0e Bumped version number to 5.0.1 to match PMD version, added dependency on rhino plugin so ecmascript processing works. 2013-01-01 12:16:49 -07:00
Dale Anson aae0561e7c Use jEdit service API for progress bar widget, better thread handling for updating progress bar. 2013-01-01 12:16:23 -07:00
Stuart Turton 78d5532b6f Merge branch 'master' of https://github.com/sturton/pmd into HEAD
Conflicts:
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/symboltable/NameOccurrence.java
2012-12-29 15:47:31 +00:00
Stuart Turton 509cc2a9ab Pre-Origin Pull commit to store CanonicalImage and dumpNodes changes to remove PLSQL Scope case-sensitivity 2012-12-29 15:43:21 +00:00
Dale Anson df199cd2a0 merge from master 2012-12-26 16:54:39 -07:00
Dale Anson e4c29d2ab5 Option pane update, removed language selector since it's no longer necessary, added option to clear error list on save. 2012-12-26 16:45:20 -07:00
Dale Anson fd45371dbf Integration with PMD 5.1. 2012-12-26 16:20:26 -07:00
Andreas Dangel 28a663707c pmd: minor fixes for CPD CLI 2012-12-22 09:34:04 +01:00
Romain PELISSE a7e4a11963 Merge branch 'master' of github.com:pmd/pmd 2012-12-21 20:18:40 +01:00
Romain PELISSE 5dc9cbc324 pmd: rework CPD CLI to use jcommander 2012-12-21 20:17:47 +01:00
Romain PELISSE 6de8aa5e06 pmd: Add CPD AntTask tests 2012-12-21 20:17:47 +01:00
Romain PELISSE dd754cb808 pmd: AntTask Tests helper
As a workaround is needed to have the AntTask related to work in Maven
I've moved it into a separate abstract class that will be shared betweeen
the PMD AntTask tests and the upcoming CPD AntTask tests.
2012-12-21 20:15:29 +01:00
Romain PELISSE 5eb160de5b pmd: removed unused imports 2012-12-21 17:50:33 +01:00
Romain PELISSE 64ebd6e259 ReadMe: disable clover, build quick release 2012-12-21 16:18:36 +01:00
Stuart Turton 1c2fbb4c00 Merge branch 'adangel-master'
Conflicts:
	pmd/src/test/java/net/sourceforge/pmd/lang/plsql/dfa/StatementAndBraceFinderTest.java
2012-12-20 01:30:15 +00:00
Stuart Turton ec057aff19 PLSQL: sdd tests for code size rules; correct NcssObjectCountTule to ignore ProgramUnits not at the SchemaLevel 2012-12-20 01:18:59 +00:00
Dale Anson dbc74fd5ee Better handling for ErrorList, use an error source per view. 2012-12-17 14:17:33 -07:00
Andreas Dangel 9756526adb pmd: fix #1037 Facing a showstopper issue in PMD Report Class
* wrapping the report listeners in a thread safe (synchronized) class
 * overtaking the listeners for each thread / report
2012-12-17 10:51:19 +01:00
Andreas Dangel e34ac7dd8c pmd: fixed #1026 PMD doesn't handle 'value =' in SuppressWarnings annotation 2012-12-16 23:10:17 +01:00
Andreas Dangel ca4393fd18 pmd: verify bug #1018 - it's fixed already 2012-12-16 22:09:45 +01:00
Stuart Turton 78a8735615 PLSQL: add tests for CASE statement 2012-12-16 17:53:39 +00:00
Stuart Turton 72dc749ef4 Ensure that tests can display standard output and error- use latest version of surefire plugin 2012-12-16 17:52:02 +00:00
Andreas Dangel aed0478411 pmd: refactor to use apache's commons-io instead of our own IOUtil. 2012-12-16 18:16:13 +01:00
Andreas Dangel f9826bcfc7 pmd: fix #1043 node.getEndLine() always returns 0 (ECMAscript)
* added commons-io dependency
 * added a SourceCodePositioner to calculate line/column from position
2012-12-16 18:15:34 +01:00
Andreas Dangel 48e6520912 pmd: fix #1047 False Positive in 'for' loops for LocalVariableCouldBeFinal in 5.0.1 2012-12-16 12:06:09 +01:00
Andreas Dangel 58c9deab49 pmd: update java grammer changelog 2012-12-16 11:57:44 +01:00
Andreas Dangel fe63763e4c pmd: add check for multiple exception catching in java 1.7 2012-12-14 21:42:39 +01:00
Andreas Dangel ee3ac17273 pmd site: switch to fluido skin 2012-12-14 19:58:46 +01:00
Andreas Dangel a50b084ce2 pmd: updated logo - thanks to Simon Gijsen 2012-12-14 16:41:22 +01:00
Andreas Dangel f1ead3be52 pmd: make the java compiler happy by moving the string concatenation into a resource file 2012-12-14 15:40:25 +01:00
Andreas Dangel f88bcf144a pmd: plsql - added unit test for NPathComplexity and a initial PLSQL parser test 2012-12-13 18:22:43 +01:00
Andreas Dangel 2d5e59ba73 pmd: minor cleanups 2012-12-13 17:20:05 +01:00
Andreas Dangel cf1a1a2db9 pmd: adding license header to new files 2012-12-13 15:35:09 +01:00
Andreas Dangel 4fb3a50df2 pmd: refactored PLSQL integration
* Using now javacc during build time to regenerate most of the AST nodes
   and the parser
 * all AST nodes inherit now from the new class AbstractPLSQLNode. This
   class replaces the former SimpleNode. This class implements
   the interface PLSQLNode which inherits from PMD's Node.
 * Deleted all AST nodes that didn't have any modification after
   generating them.
 * PLSQL integration is now more like the Java integration
2012-12-13 15:24:18 +01:00
Andreas Dangel fa45557845 Merge remote-tracking branch 'pmd/master' into plsql 2012-12-12 19:23:37 +01:00
Stuart Turton 7a571b741e Amend StatementAndBraceFinder to add SWITCH_START for Searched CASE statement ; garden commented out code
Add more instrumentation into Linker
2012-12-11 23:39:24 +00:00
Stuart Turton 5d5b9e6a18 Correct control flow stack generation for ELSIF clause 2012-12-09 20:10:41 +00:00
Andreas Dangel d47e68e370 pmd: Fixed bug 1048: CommentContent Rule, String Index out of range Exception 2012-12-07 10:49:39 +01:00
Andreas Dangel 7515448393 pmd: CLI - make sure we display the usage help text
Therefore make the -h option a help option.
Make the auxclasspath option description look nicer - newlines break the layout.
Always display the jcommander usage help text.
And exit with an error code in case there are parameter errors.
2012-12-05 21:58:39 +01:00
Andreas Dangel 835e696ec5 pmd: fix bug #1044 - update suppressing documentation with new cli paramter name 2012-12-05 21:51:05 +01:00
Stuart Turton 873d9f6f83 PLSQL:codesize.xmlConvert Java examples to equivalent PLSQL examples; rewrite TooManyMethods Rule for PLSQL 2012-12-05 00:01:44 +00:00
Stuart Turton 4013461794 Avoid null pointer exception in PLSQLParser.canonicalName() 2012-12-04 23:58:15 +00:00
Stuart Turton 20bd584634 Add generic Oracle Object Length Rule - based on the OracleObject interface
Add PLSQL codesize ruleset file and example PLSQL  XPATH Rule (TomKytesDespair.xml)
2012-12-03 01:05:50 +00:00
Stuart Turton 17c9eadc61 Create OracleObject to flag AST that are (or for functions and procedures may be) schema-level items
Add  more statistical Rules (cribbed from Java Rules)
2012-12-03 00:05:02 +00:00
Stuart Turton 526b5610f0 Add unit tests for PLSQLParser and PLSQLStatementAndBraceFinder 2012-12-02 23:13:44 +00:00
Stuart Turton 374c734a98 Correct PLSQLDataNode to describe TypeMethod as a method
Remove System.err.println() from DFAPLSQLPanel
2012-12-02 21:53:55 +00:00
Stuart Turton d41ade9d10 Expose PLSQLParser.canonicalName() as helper method getCanonicalName() in SimpleNode
Correct logging message for StatementExpression equivalent inStatementAndBraceFinder
Correct off-by-one error when displaying code text )lines is zero-based so that it was displaying the next line- possibly what was intended)
Remove unused import from PLSQLDesigner (Interface ExecutableCode used instead)
2012-12-02 21:44:07 +00:00
Andreas Dangel 53787b6336 pmd: prepare release 5.0.1 (cherry-picked)
commit a66bbf2193
2012-11-30 20:58:26 +01:00
Stuart Turton f5f4660b0a null pointer in Skip2NextTokenOccurrence 2012-11-30 19:14:14 +00:00
Stuart Turton 47ad0bbd7c PLSQL AST - Change StringBuffers to StringBuilders, parse Synonyms, Directories, Database Links, and the USING and RETURNING INTO clauses of embedded SQL.
Add a DDLCommand production, and add LOOKAHEAD to cope with otherwise unparsed  CREATE[ OR REPLACE] and  ALTER  statements.
2012-11-30 00:00:06 +00:00
Stuart Turton ef23c93398 Minor refactoring of NodeType and class which reference it StackObject, SequenceChecker, Linker etc.
The aspiration in  NodeType was to convert it to an enumeration: this refactoring moves AbstractDataFlowNode.stringFromType to make the class a bit more enum like and to make it publicly available for use in debugging other languages.
2012-11-29 23:47:10 +00:00
Stuart Turton 4a49e67caa Remove unused fields from TooManyFieldsRule 2012-11-29 23:05:51 +00:00
Stuart Turton 4f50ec7bc7 PLSQL - Correct DataFlow Stack generation for ELSIF clause 2012-11-29 23:01:51 +00:00
Andreas Dangel d57e4cf1ec pmd website: update for new release 5.0.1 2012-11-29 19:21:53 +01:00
Romain PELISSE 5c5c6e6e46 site: add missing information on release 2012-11-28 22:42:13 +01:00
Romain PELISSE 5eae70ec3f doc: update release process to use new CLI syntax 2012-11-28 21:40:59 +01:00
Andreas Dangel 46f6cc1888 pmd: fix failing unit test 2012-11-28 21:28:05 +01:00
Stuart Turton 21a1afb2df Use StringBuilder instead of StringBuffer; add LOOKAHEAD for all input; parse and ignore DDL commands/system changes not already parsed; add static parser method to return a canonical Oracle name from arbitrary input 2012-11-28 00:26:46 +00:00
Stuart Turton 28f5d5d1ed Overwrite PLSQLParser and TokenManager after incorrect merge/rebase 2012-11-24 23:02:07 +00:00
Stuart Turton aab003ea51 Add support for SYNONYM, DIRECTORY and DATABASE LINK 2012-11-24 22:41:09 +00:00
Stuart Turton 969b29c1c8 Correct comment 2012-11-24 20:18:04 +00:00
Stuart Turton d21fdaf31d Remove end of line characters from Special Token SINGLE_LINE_TOKEN in order to allow the Skip* productions to search for the EOL Special Token without missing. 2012-11-24 20:13:40 +00:00
Stuart Turton 86f37b529c PLSQL: Attempt to set Class equivalent (Oracle Object level) for AbstractPLSQLRule; override getViolationParameters to return actual calculated measure for ExcessiveLength and AbstractNcssCountRule PLSQL Rules. 2012-11-21 00:11:07 +00:00
Stuart Turton 0f6ace560b PLSQL: Non-commented Source Statement and Too Many Methods (Package Specification and Object Type Specification 2012-11-20 22:47:20 +00:00
Stuart Turton 2ab85d1c35 Merge commit 'b0c2721c22dd03fd4c4fb1579b75f3005afd229b' 2012-11-20 19:43:06 +00:00
Stuart Turton ab0c209e53 Make Cyclomatic Complexity and NPath Complexity function with schema-level functions and procedures, object type bodies and triggers 2012-11-20 19:41:13 +00:00
Stuart Turton bfe1932037 PLSQL AST grammar with draft BSD lichence 2012-11-20 19:38:21 +00:00
Stuart Turton 93f5e8b2b4 Add more logging to PLSQL rules; Add visit() method for ExecutableCode interface 2012-11-16 20:56:22 +00:00
Stuart Turton 77fa5b6d1d Merge commit '3545b58820289b9dff7d404fb24f400323dd8f1f' 2012-11-16 20:51:31 +00:00
Stuart Turton 85f865e5e7 Add some code size rules (taken directly) from the Java rules: object length, Cyclomatic Complexity and NPath Complexity 2012-11-16 20:50:27 +00:00
Stuart Turton d157f8f869 The generated PLSQLParser code sets the last token _AFTER_ closing the scope, so getLastToken
cannot be used to identify the last Token: use getToken(0) instead.
         <code>
	      jjtreeCloseNodeScope(jjtn000);
	      jjtn000.jjtSetLastToken(getToken(0));
         </code>
2012-11-16 20:37:30 +00:00
Stuart Turton 3fb8fc1642 MethodDeclaration - ensure that TypeMethod is processed when building Dataflows.
MethodDeclaration covers both ProgramUnit and TypeMethod - previous  processing seemed to ignore TypeMethod when building data flows in Type Bodies.
2012-11-12 00:32:47 +00:00
Stuart Turton 878596e15f Support DFA analysis of simple and compound PL/SQL Triggers 2012-11-11 23:08:52 +00:00
Stuart Turton 03af9d4760 Correct comment spelling 2012-11-11 23:07:12 +00:00
Stuart Turton 1491532ea2 Allow PLSQLDesigner to process multiple types - create minimal interface ExecutableCode and refactor the relevant AST classes, graph rule, panel and PLSQDesigner to manipulate ExecutableCode objects. 2012-11-11 23:06:00 +00:00
hooperbloob e2789335e4 new PMD snapshot jar 2012-11-09 08:17:35 -08:00
hooperbloob cd1e1ba133 Updates for the 4.0.0 release 2012-11-09 08:16:02 -08:00
hooperbloob d779fdb6a7 Updates relating to the 4.0.0 release of the plugin. Code to follow. 2012-11-08 22:46:38 -08:00
Stuart Turton 66deb16cb1 Correct treatment of Labelled Statements 2012-11-07 00:02:44 +00:00
Stuart Turton 84853e2099 PL/SQL CASE statements with added BREAKS 2012-11-04 23:38:05 +00:00
Stuart Turton f47e6b9813 IF, IF,ELSE, IF,ELSIF, IF,ELSIF,ELSE, WHILE, amd LOOP statements now return 2012-11-04 18:54:52 +00:00
Stuart Turton 06e0af2cfe Add logging message and add comment about SquenceChecker infinite loop control index 2012-11-03 17:02:49 +00:00
Stuart Turton 037eaf9d2b Remove generated java classes from src/main/java ; change StringBuffer to StringBuilder in Structure.java 2012-11-03 16:59:57 +00:00
Stuart Turton 8dbd3798f9 Merge branch 'master' of git://github.com/pmd/pmd
Conflicts:
	pmd/src/main/java/net/sourceforge/pmd/lang/ast/CharStream.java
	pmd/src/main/java/net/sourceforge/pmd/lang/ast/JavaCharStream.java
	pmd/src/main/java/net/sourceforge/pmd/lang/ast/SimpleCharStream.java
	pmd/src/main/java/net/sourceforge/pmd/lang/ast/TokenMgrError.java
	pmd/src/main/java/net/sourceforge/pmd/lang/cpp/ast/Token.java
	pmd/src/main/java/net/sourceforge/pmd/lang/java/ast/JJTJavaParserState.java
	pmd/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParser.java
	pmd/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParserTreeConstants.java
	pmd/src/main/java/net/sourceforge/pmd/lang/java/ast/JavaParserVisitor.java
	pmd/src/main/java/net/sourceforge/pmd/lang/java/ast/ParseException.java
	pmd/src/main/java/net/sourceforge/pmd/lang/java/ast/Token.java
	pmd/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JJTJspParserState.java
	pmd/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JspParserTreeConstants.java
	pmd/src/main/java/net/sourceforge/pmd/lang/jsp/ast/JspParserVisitor.java
	pmd/src/main/java/net/sourceforge/pmd/lang/jsp/ast/ParseException.java
	pmd/src/main/java/net/sourceforge/pmd/lang/jsp/ast/Token.java
2012-11-02 23:55:26 +00:00
Stuart Turton f0eafc912b Instrument code to identify infinite loop she procession PLSQL IF/THEN/ELSE
Amend AST to make this easier
2012-11-02 01:11:02 +00:00
hooperbloob d6c2e505ab Bugfix for issue mentioned here:
http://sourceforge.net/p/pmd/discussion/188192/thread/888425ac
2012-10-31 23:35:36 -07:00
hooperbloob 09e0aaf335 Test commit, minor refactoring 2012-10-31 22:06:56 -07:00
Stuart Turton 6de746a359 Bring PLSQL AST file up to current code level 2012-10-21 23:09:01 +01:00
Stuart Turton cfa1b0c574 Cope with Object Type Bodies (TypeMethods) when generating scope; commit outstanding PLSQL changes after recovery from filename case problems 2012-10-21 22:39:32 +01:00
Stuart Turton 342b0848d1 Commit outstanding changes after merge 2012-10-21 22:25:02 +01:00
Stuart Turton 6dd19418d8 Merge branch 'master' of https://github.com/sturton/pmd 2012-10-21 22:21:44 +01:00
Stuart Turton f8b1ee358e Correct the filename case of AST production classes within git again 2012-10-21 22:21:02 +01:00
Stuart Turton 6d4905335c Merge commit '3d2ff17d8345c442bd94236892e1750112cd48f0' 2012-10-21 22:13:22 +01:00
Stuart Turton 4677cf8634 Correct case of filenames in github project 2012-10-21 21:02:46 +01:00
Stuart Turton 65edfe5e2f Push outstanding PLSQL changes 2012-10-20 22:52:52 +01:00
Stuart Turton ca5a24edd5 ASTTypeMethod added for TYPE BODY methods scope tracking; DFA works for PACKAGE BODIES 2012-10-17 22:33:32 +01:00
Stuart Turton d4a211087f Remeove terminating semi-colon from Conditional Compilation statement; add terminating semi-colon to global Block(); correct pasring for WRAPPED objects; assign ConditionalOrExpression() to avoid null pointer exception 2012-10-17 19:05:11 +01:00
Stuart Turton fb74093d2a Merge commit 'd126d9b0b89229de905dcaf3926b1321127fde9f' 2012-10-10 23:37:00 +01:00
Stuart Turton 8c4fefe4a8 Amended PLSQL AST 2012-10-10 20:00:47 +01:00
Stuart Turton daf1f4c632 PLSQL AST now supports CONTINUE as an 11G CONTINUE statement and as a variable name; EXIT may be a variable name; LabelledStatement is now cleaned up 2012-10-10 19:59:02 +01:00
Stuart Turton a9507e0ccd PLSQL AST now copes with 11G CONTINUE statements; PMD rule works for simple PLSQL; DFA is not working; PMD symbol handling is very buggy 2012-10-10 19:33:16 +01:00
Stuart Turton 99c71ddcbd PLSQL AST now copes with 11G CONTINUE statements; PMD rule works for simple PLSQL; DFA is not working; PMD symbol handling is very buggy 2012-10-10 19:28:30 +01:00
Stuart Turton 3b8d09cdd7 PLSQL AST now copes with 11G CONTINUE statements; PMD rule works for simple PLSQL; DFA is not working; PMD symbol handling is very buggy 2012-10-10 19:25:51 +01:00
Thomas a524a52008 Fix build; convert tests from JUnit 3 to 4; make some failing tests pass. 2012-10-08 11:19:20 -05:00
Stuart Turton bf5bb5e2bb PLSQLDesigner - remove System.err 2012-10-02 23:14:07 +01:00
Stuart Turton c482f7a81a PLSQL AST JJTree - return Types from productions are accurate rather than all being declared as SimpleNode - NODE_EXTENDS,TRACK_TOKENS and NODE_SCOPE_HOOK are specified so that beginLine,beginColumn,endLine,endColumn fields are set 2012-10-02 23:02:55 +01:00
Stuart Turton 10e1e8cdb3 get XPath window working 2012-10-02 19:07:39 +01:00
Stuart Turton 3c3f811dff PldocAST.jjt - setImage() for IDs and Names 2012-10-01 23:24:00 +01:00
Stuart Turton fe3f159255 Hack PLSQLParser.java to avoid Arguments null pointer exception 2012-10-01 19:40:47 +01:00
Stuart Turton 501a4754f7 DumpFacade added 2012-09-30 23:48:57 +01:00
Stuart Turton 4580690ca9 PLSQLDesigner - removed System.err tracking 2012-09-30 23:35:32 +01:00
Stuart Turton 56df618d60 DumpFacade implemented- AST panel populates 2012-09-30 23:08:51 +01:00
Stuart Turton f513a0cad0 Merge branch 'master' of https://github.com/sturton/pmd
Conflicts:
	pmd/etc/grammar/PldocAST.jjt
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLHandler.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/PLSQLParser.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTArguments.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTName.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTPrimaryPrefix.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/ASTPrimarySuffix.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/Node.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParser.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitor.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/PLSQLParserVisitorAdapter.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/ast/SimpleNode.java
	pmd/src/main/java/net/sourceforge/pmd/lang/plsql/rule/PLSQLRuleChainVisitor.java
2012-09-30 17:45:37 +01:00
Stuart Turton 66f31a2c9a PLSQL AST rewritten to be more PMD-like; Scope compiles; PLSQLDesigner work in progress 2012-09-30 15:36:53 +01:00
Stuart Turton d7037af36f JJTree production names changed to be consistent with Java AST 2012-09-24 20:55:29 +01:00
Stuart Turton ba84d1d9fa Visitor JJTree language file 2012-09-24 20:47:00 +01:00
Stuart Turton 6f84da00a2 Convert parser classes from the initial (CPD) version to separate AST* classes in order allow the Visitor pattern (as used in
PMD).

These classes work with CPD, but also form an initial basis for PLSQL integration with PMD.

Also viewer_properties has been copied under src/main/resources so that it is automatically included in the packaged JAR file.
2012-08-26 15:29:02 +01:00
Stuart Turton ec4d9f9af2 PLSQL AST - modify PldocAST.jjt to allow Visitor pattern and return a terminal object (ASTinput) 2012-08-25 23:34:49 +01:00
Stuart Turton f7cdadc3a9 Revert "PLSQL AST - modify PldocAST.jjt to allow Visitor pattern and return a terminal object (ASTinput)"
This reverts commit 2e4e6b2231.
2012-08-25 23:26:45 +01:00
Stuart Turton 2e4e6b2231 PLSQL AST - modify PldocAST.jjt to allow Visitor pattern and return a terminal object (ASTinput) 2012-08-25 23:03:10 +01:00
Stuart Turton 0019f52074 Add PLSQL AST grammar for integrating PL/SQL parser for use in CPD.
This is the minimal conversion of the PLDoc parser (pldoc.sourceforge.net). This version is not suitable for incorporation into the main PMD suite, simply because PldocAST.jjt  does not specify the Visitor pattern, which seems to be required for PMD integration.
2012-08-25 22:43:07 +01:00
Stuart Turton 7ac8edb6a1 Add tests for PLSQLTokenizer 2012-08-08 20:17:32 +01:00
Stuart Turton 1d2d04b3eb Incorporate PLDoc 1.3.3 changes - support "AT LOCAL" and "AT TIME ZONE (DBTIMEZONE|SESSIONTIMEZONE|literal|expression)" time zone clauses 2012-08-05 23:03:09 +01:00
Stuart Turton 1cdbc0ca0a PMD-3546925 - Add PLSQL Language for PMD and CPD (extracted from PLDoc 1.3.2) 2012-07-23 21:11:10 +01:00
3780 changed files with 151434 additions and 193014 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
target/
bin/
.project
.classpath
.checkstyle
.pmd
.ruleset
.settings/
*.iml
.idea
*.patch
*/src/site/site.xml
+21
View File
@@ -0,0 +1,21 @@
<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">
<localRepository/>
<interactiveMode/>
<usePluginRegistry/>
<offline/>
<pluginGroups/>
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>${env.CI_DEPLOY_USERNAME}</username>
<password>${env.CI_DEPLOY_PASSWORD}</password>
</server>
</servers>
<mirrors/>
<proxies/>
<profiles/>
<activeProfiles/>
</settings>
+29
View File
@@ -0,0 +1,29 @@
language: java
before_script:
- SHOULD_DEPLOY=no
- '[ "${TRAVIS_SECURE_ENV_VARS}" = "true" ] && [ "${TRAVIS_PULL_REQUEST}" = "false" ] && SHOULD_DEPLOY=yes || ( [ "${SHOULD_DEPLOY}" != "yes" ] && echo "Skipping Deploy" )'
- export SHOULD_DEPLOY
matrix:
include:
- jdk: oraclejdk7
script:
- '[ "${SHOULD_DEPLOY}" = "yes" ] && mvn test deploy --settings .travis-settings.xml || ( [ "${SHOULD_DEPLOY}" != "yes" ] && echo "Skipping Deploy" )'
- '[ "${SHOULD_DEPLOY}" = "yes" ] || mvn test'
- jdk: oraclejdk8
script: mvn test
branches:
except:
- /^pmd_releases\/\d/
notifications:
email:
recipients:
- adangel@users.sourceforge.net
on_success: always
on_failure: always
cache:
directories:
- "$HOME/.m2"
env:
global:
- secure: KBEuB6U1p5RQXSYe157AwydFr/zpXQPA0IChVCgZV+X1mMyy9ZtrjH1J1AXuviseDDXDbaT25sRnsvpl82rfRw2xOkMGXHy4N95/ylTSr8DjHxTao71BhXsvFycNobFva5y2EGNWqDvpS8I2oSZo7Qk4la3yep3rcJQvcy6RDbbhpDTbL1QMFyadunIBm0WtqbunrMqtjSqaoPsXz8TiQuxHvX4vEXzVbaxV1QQt79Vi+daa6wAV3mRQAugnx+UffsC8JqMxgm06usWeJgCJzxgm8E7clZCLmf53B2TL8dK6bIYbqyvOY3uFxitsTG0d8Z0GOJwXBgZNgbniTRO8ZJSty5eZP8LBybbjVLSL25DNTWtCjADUL/uySnXIEidlMt2N/3QmH7zrGAfAk/tIwKpdRca2GLLydeXf6PSkiahnPEkIY/QupcsOLELhdifpdOjb8QW1OenA+vUbNM9dccLwKnX6Fj9cu4VQG601AcYDr2eyhq8WYkr3wYdw/6KdUa3hmplowTBs+qguppP+eOSgGuEsy38KLtqnvm6WlHy6tcLmcVYKG3DmR1b7TWXsOXC6/VMH8BHBkvsF1QdRg9+Cgx07vX3Hw7roPiYzmaO9Ajs20ATsUfRskMuWCTeTSK5pN8X27veRCZlhFjeKQMDdmfVwzpAfRgKsl3TEn1I=
- secure: U1DfAv6acUUWe+dao/ZSDUX64JRadNJY16rITsdrM4ZNAJSuXpEY3p/LWcYjN7D49YmyutbXH9+L3KKQUQGrGXj9QTarfYvd8ZsKt4FK8yv7AFy+RQNIbAjNEHBzHx15p+srMheTaetl7aLwY0qhF+D/RtGapxHKyY4dBHrb0lp8VGyiCiL7Aop8GGskosi1mtirPBp/BStPZ2bEyxG0QzU5SsVWkJWwV9aWLPVAR/n7Xgx/6Gjl6Fed2c/WSrWi4vchm3Ny8pfTweOax3PGYYjBVxIfuX0mqmwuJsY7gNfXCfN3dPiPKGJPFy1pC+LGyGkklO5ReKFLd4O1ME6fU0dlIGfD6n+Q4H6/w9FHXegcKTfWIJm/MFa6vA/tJM5R6zJQuiTQJboHm/UmS/iQj76z0p6sK15Xp5vFId+/dHKqa8xY+Bt6HiXy6z401HOc8QcYBAf7TqhqUt/ZE7HN4be46uR90KmzIrWz6wEoDW7HfwQ9ZMbs55zoOXrvekyE9/gXskypO0p2JT3Y0vlvO27KQvIrSwI480kOVOrlyrYA+LZqlcKaayOuCuZh4lITQUYinUoZZict5joYthH+Cyh2zovoBpxsntDJdMnaZNLtSC7hlhpbMBYaT2y1O6vZH5Yix0mxuDvs/x6ogP5CNBeUYlXhaL+g4GnwKyr0ZA0=
+405
View File
File diff suppressed because it is too large. Load diff
+12
View File
@@ -0,0 +1,12 @@
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
+45 -4
View File
@@ -1,8 +1,49 @@
# PMD
PMD is a source code analyzer. It finds unused variables,
empty catch blocks, unnecessary object creation, and so forth.
[![Build Status](https://travis-ci.org/pmd/pmd.svg?branch=master)](https://travis-ci.org/pmd/pmd)
For more information, visit http://pmd.sourceforge.net
## About
To see the current status of this repo, visit https://buildhive.cloudbees.com/job/pmd/
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!
### How to build PMD?
You'll need to have a `~/.m2/toolchains.xml` file setup with jdk 1.6 (for pmd 5.3.x), jdk 1.7 (for pmd 5.4.x and pmd 5.5.x)
and jdk 1.8 (for some features in pmd 5.5.x). See [maven toolchains](https://maven.apache.org/guides/mini/guide-using-toolchains.html).
A example file can be found here: [example-toolchains.xml](https://github.com/pmd/pmd/blob/master/example-toolchains.xml).
Use maven in the top-level directory:
mvn clean package
This will create the zip files in the directory `pmd-dist/target`:
cd pmd-dist/target
ls *.zip
That's all !
### Bug Reports
We are using Sourceforge for bug tracking. Please file your bugs at <https://sourceforge.net/p/pmd/bugs/>.
### Pull Requests
Pull requests are always welcome: <https://github.com/pmd/pmd/pulls>
## News and Website
More information can be found on our [Website] and on [SourceForge].
[GitHub]: https://github.com/pmd/pmd
[Website]: https://pmd.github.io
[SourceForge]: https://sourceforge.net/projects/pmd/
@@ -1,41 +0,0 @@
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
*
*/
@@ -1,147 +0,0 @@
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
*
*/
@@ -1,35 +0,0 @@
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
*
*/
@@ -1,105 +0,0 @@
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
*
*/
@@ -1,172 +0,0 @@
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
*
*/
@@ -1,112 +0,0 @@
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
*
*/
@@ -1,119 +0,0 @@
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
*
*/
@@ -1,115 +0,0 @@
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
*
*/
@@ -1,63 +0,0 @@
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
*
*/
@@ -1,73 +0,0 @@
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
*
*/
@@ -1,76 +0,0 @@
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
*
*/
@@ -1,70 +0,0 @@
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
*
*/
@@ -1,125 +0,0 @@
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
*
*/
@@ -1,53 +0,0 @@
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
*
*/
@@ -1,142 +0,0 @@
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
*
*/
@@ -1,180 +0,0 @@
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
*
*/
@@ -1,112 +0,0 @@
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
*
*/
@@ -1,39 +0,0 @@
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
*
*/
@@ -1,34 +0,0 @@
##########################################################################
# 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
@@ -1,49 +0,0 @@
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
*
*/
Executable
+323
View File
File diff suppressed because it is too large. Load diff
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF8"?>
<toolchains>
<!-- place this file in ${user.home}/.m2/toolchains.xml -->
<toolchain>
<type>jdk</type>
<provides>
<version>1.6</version>
</provides>
<configuration>
<jdkHome>/path/to/jdk/1.6</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<version>1.7</version>
</provides>
<configuration>
<jdkHome>/path/to/jdk/1.7</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<version>1.8</version>
</provides>
<configuration>
<jdkHome>/path/to/jdk/1.8</jdkHome>
</configuration>
</toolchain>
</toolchains>
@@ -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>
Loaded 30 of 3780 files, more files were not shown because too many files have changed in this diff. Show more