158 Commits

Author SHA1 Message Date
Andreas Dangel
7d6e6239c5 [maven-release-plugin] prepare release pmd_releases/6.31.0 2021-01-30 18:04:08 +01:00
Andreas Dangel
f7909ae78a Merge branch 'master' into pr-2963-update 2021-01-21 11:43:01 +01:00
Andreas Dangel
7f1f374dc5 Fixups for #2963
- Add documentation for CPD cli
- Add javadoc for the tokenizer options
- GenericToken::getKind is @Experimental
2021-01-21 11:40:57 +01:00
Clément Fournier
aed09d7b9d Merge branch 'master' into pr/2965 2021-01-08 21:42:41 +01:00
Clément Fournier
5efc0c02a3 Merge branch 'master' into pr/2964 2021-01-08 21:31:39 +01:00
Maikel Steneker
77292da7af Add test for empty C# comment.
This was previously incorrectly tokenized, because it was recognized as the start of a documentation comment.
2020-12-23 10:46:34 +01:00
Maikel Steneker
ed8fbccb1c Add tests for additional C# 7 and C# 8 features 2020-12-18 14:47:59 +01:00
Andreas Dangel
d284ea9634 [maven-release-plugin] prepare for next development iteration 2020-12-12 09:42:10 +01:00
Andreas Dangel
d2e4fb4ca3 [maven-release-plugin] prepare release pmd_releases/6.30.0 2020-12-12 09:42:02 +01:00
Maikel Steneker
85c807ed1f Add additional test cases for 2D arrays and more 2020-12-10 13:32:49 +01:00
Maikel Steneker
769cf5b316 Update C# grammar for additional C# 7 and C# 8 features 2020-12-10 13:21:48 +01:00
Maikel Steneker
aaef0fde4e Add option to ignore sequences of literals
In some cases, code may include sequences of literals that represent lists or tables of constants, such as lookup tables. Large sequences of these (particularly parts with many zeroes) will be identified by CPD as duplicates, but in practice, these are not the types of duplicates that are considered interesting.

This introduces a new option for CPD (--ignore-literal-sequences) that ignores these sequences of literals, in a very similar way to how using directives for C# can already be skipped as well. For now, this functionality is restricted to C#, but it could be added for other languages as well.
2020-11-25 12:35:02 +01:00
Maikel Steneker
40d4f4a910 [cs] CPD: fix issue where ignoring using directives could not be disabled via the GUI after enabling it 2020-11-20 15:30:23 +01:00
Andreas Dangel
4837c8dbc8 [maven-release-plugin] prepare for next development iteration 2020-10-24 10:17:24 +02:00
Andreas Dangel
81f12d3e5d [maven-release-plugin] prepare release pmd_releases/6.29.0 2020-10-24 10:17:15 +02:00
Andreas Dangel
aa245c6e1b [maven-release-plugin] prepare for next development iteration 2020-09-26 10:25:16 +02:00
Andreas Dangel
722f3ca997 [maven-release-plugin] prepare release pmd_releases/6.28.0 2020-09-26 10:25:05 +02:00
Andreas Dangel
7a1e3caba0 Add deprecations for antlr lexers that will be moved with PMD 7
Refs pmd/pmd#2753
2020-09-13 11:28:07 +02:00
Andreas Dangel
c59af0aee6 [maven-release-plugin] prepare for next development iteration 2020-08-31 18:30:18 +02:00
Andreas Dangel
856950f0d2 [maven-release-plugin] prepare release pmd_releases/6.27.0 2020-08-31 18:30:09 +02:00
Andreas Dangel
89140d86ce Merge branch 'master' into pr-2656 2020-08-20 09:47:16 +02:00
Andreas Dangel
49ab75aeb7 [maven-release-plugin] prepare for next development iteration 2020-07-25 13:45:36 +02:00
Andreas Dangel
a9632e2a06 [maven-release-plugin] prepare release pmd_releases/6.26.0 2020-07-25 13:45:27 +02:00
Maikel Steneker
6fb5ac59b9 Ensure CPD uses tab width of 1 for tabs consistently
The columns that are reported by CPD were inconsistent across languages
before. A language like Java (using a JavaCC-based tokenizer) would use
a width of 8 for tabs, whereas a language like C# (using an Antlr-based
tokenizer) would use 1 instead.

This includes unit tests for most languages to ensure a tab character is
counted as 1. The configuration for JavaCC has been adjusted to respect
this as well.
2020-07-20 10:42:21 +02:00
Andreas Dangel
7b3d31246e Merge branch 'master' into pr-2624 2020-07-17 15:16:24 +02:00
Andreas Dangel
e4690cb56a Fix compile errors for CPD only languages 2020-07-17 15:04:43 +02:00
Andreas Dangel
94afdb117d Add test engines as surefire plugin dependencies
This removes junit-vintage-engine as a test dependency
as well as kotlintest-runner-junit5.
The engines are only needed during test execution, but should
not be available for test compilation.

For this to work, the latest surefire plugin is required.
2020-07-17 12:03:45 +02:00
Andreas Dangel
370c0b0b6d Remove unused dependency, explicitly declare used dependencies 2020-07-02 15:12:31 +02:00
Andreas Dangel
95d8e80c1b [maven-release-plugin] prepare for next development iteration 2020-06-27 11:31:27 +02:00
Andreas Dangel
a219b2e1be [maven-release-plugin] prepare release pmd_releases/6.25.0 2020-06-27 11:31:16 +02:00
Clément Fournier
fb0819f319 Convert Apex tests 2020-06-14 00:29:58 +02:00
Clément Fournier
4c378b5631 Convert C# module 2020-06-14 00:20:14 +02:00
Andreas Dangel
28ea13e4f9 Merge branch 'pr-2567'
[c#] Fix CPD suppression with comments doesn't work #2551 #2567
2020-06-12 12:49:21 +02:00
Andreas Dangel
8defb2fde2 Add missing relativePath configuration in all pom modules 2020-06-07 12:36:58 +02:00
LixonLookose
c7c31be6cc [c#] CPD suppression with comments doesn't work #2551
CPD Suppressions for c# fixed
test added
2020-06-04 17:53:22 +05:30
Andreas Dangel
ab04bdacdd [maven-release-plugin] prepare for next development iteration 2020-05-24 17:34:34 +02:00
Andreas Dangel
229cb2bdca [maven-release-plugin] prepare release pmd_releases/6.24.0 2020-05-24 17:34:25 +02:00
Maikel Steneker
9c2deba035 Add support for C# 8 interpolated verbatim strings that start with @$. 2020-05-19 16:49:19 +02:00
Andreas Dangel
4308c545e5 [maven-release-plugin] prepare for next development iteration 2020-04-24 10:53:12 +02:00
Andreas Dangel
921c65f5ab [maven-release-plugin] prepare release pmd_releases/6.23.0 2020-04-24 10:53:00 +02:00
Andreas Dangel
0710877d05 [core] Deprecate AntlrToken#getType() in favor of #getKind()
Refs #2371
2020-04-10 18:50:58 +02:00
Andreas Dangel
4c020bfbf7 [maven-release-plugin] prepare for next development iteration 2020-03-12 15:15:18 +01:00
Andreas Dangel
eb93aaeca7 [maven-release-plugin] prepare release pmd_releases/6.22.0 2020-03-12 15:15:09 +01:00
Andreas Dangel
245dcddd86 Merge branch 'pr-2339'
[cs] CPD: Fixed CPD --ignore-usings option
2020-03-07 09:21:13 +01:00
Maikel Steneker
adb38ecbbc [cs] CPD: Fixed CPD --ignore-usings option 2020-03-06 12:52:46 +01:00
Maikel Steneker
6a7e98924b [cs] CPD: fix issue where semicolons following using directives were not filtered 2020-03-06 12:34:06 +01:00
Maikel Steneker
d8e04ecc11 [cs] CPD: Fix for issue where statements following a using directive were ignored. 2020-03-06 12:33:59 +01:00
Maikel Steneker
bdfbfae231 C# tokenizer is now Antlr-based.
This is based on the Antlr grammar from https://github.com/antlr/grammars-v4/tree/master/csharp.

This adds column information for C# and fixes #2139.
2020-02-12 11:46:12 +01:00
Andreas Dangel
d994700617 [maven-release-plugin] prepare for next development iteration 2020-01-24 17:20:47 +01:00
Andreas Dangel
a28e9e22e5 [maven-release-plugin] prepare release pmd_releases/6.21.0 2020-01-24 17:20:38 +01:00