229 Commits

Author SHA1 Message Date
Andreas Dangel
474274e129
[dist] Remove unnecessary exclusion for pmd-cli:sh:completion
Note: java and javascript are needed for tests in cli

Refs #4594
2024-02-22 13:00:04 +01:00
Andreas Dangel
1b4acab7c4
Merge branch 'master' into issue-4349-cleanup-deprecations 2024-02-10 12:36:58 +01:00
Andreas Dangel
bc5be45566
Merge branch 'master' into issue-4348-internal-api 2024-02-09 21:31:05 +01:00
Andreas Dangel
19496ef198
Merge pull request #4808 from adangel:issue-3905-tree-export-api
[core] Promote Tree Export API as stable #4808
2024-02-09 16:56:56 +01:00
Andreas Dangel
5931461ca9
Merge pull request #4804 from adangel:issue-4309-xpath-cleanups
[core] XPath cleanups #4804
2024-02-09 16:23:58 +01:00
Andreas Dangel
6a328d6cd0
Merge pull request #4803 from adangel:issue-3903-reporting-package
[core] Consolidate n.s.pmd.reporting package #4803
2024-02-09 15:32:55 +01:00
Andreas Dangel
2a3128fb86
Merge pull request #4799 from adangel:issue-3917-rule-package
[core] Consolidate n.s.pmd.lang.rule package #4799
2024-02-09 14:39:03 +01:00
Andreas Dangel
5599a8fd65
Merge branch 'master' into issue-4349-cleanup-deprecations 2024-02-08 18:23:41 +01:00
Andreas Dangel
a76ec3410c
Merge pull request #4795 from adangel:remove-ruleset-factory-compatibility
[core] Remove ruleset compatibility filter (RuleSetFactoryCompatibility) and CLI option --no-ruleset-compatibility #4795
2024-02-02 19:53:51 +01:00
Andreas Dangel
5b2b03847e
Merge pull request #4786 from adangel:issue-4313-remove-old-rule-reference-notation
[core] Remove support for deprecated rule set references notation #4786
2024-02-02 19:46:55 +01:00
Andreas Dangel
19f9bdde5f
[core] Remove deprecated classes/methods
CpdLanguageProperties#DEFAULT_SKIP_BLOCKS_PATTERN
BaseAntlrNode#joinTextToken
Node#getNthParent
Node#getFirstChildOfType
2024-02-02 14:41:45 +01:00
Andreas Dangel
3a5ff11dc2
[core] Rename MessageReporter to PmdReporter as public API
PmdReporter is supposed to be used when configuring PMD
(see AbstractConfiguration#setReporter), so it can't be internal.

Refs #4348
2024-01-26 19:06:08 +01:00
Andreas Dangel
d9321d70f2
[core] Promote Tree Export API as stable
Fixes #3905
2024-01-25 16:26:10 +01:00
Andreas Dangel
7c29f16eac
[core] Move XPathRule into subpackage lang.rule.xpath (#4309) 2024-01-19 12:52:51 +01:00
Andreas Dangel
f13cd58c7f
[core] Move classes into n.s.pmd.reporting
- Report
- RuleContext
- RuleViolation
- ViolationSuppressor
- ParametricRuleViolation

Fixes #3903
2024-01-18 20:27:34 +01:00
Andreas Dangel
faaec5ed6d
[core] Actually move into correct package lang.rule 2024-01-13 20:57:56 +01:00
Andreas Dangel
9e668c22fc
[core] Move Rule/RuleSet related type into net.sourceforge.pmd.rule
Refs #3917
2024-01-12 18:14:04 +01:00
Andreas Dangel
ba602d1978
[core] Remove ruleset compatibility filter (RuleSetFactoryCompatibility) and CLI option --no-ruleset-compatibility
Fixes #4314
Closes #4378
2024-01-11 12:05:10 +01:00
Andreas Dangel
070cca8743
Merge pull request #4628 from adangel:support-jrt-fs
[java] Support loading classes from java runtime images #4628
2024-01-05 13:51:40 +01:00
Andreas Dangel
35062c3caf
Remove unneeded dependency to WireMock 2024-01-05 13:36:04 +01:00
Andreas Dangel
7b24edc0db
[core] Remove support for deprecated rule set references notation
The old notation <lang>-<ruleset> is not supported anymore. It is
now interpreted as a ruleset reference without a ruleset and just
referencing a single rule. Also the release number notation is
not supported anymore.

Since RuleSetReferenceId is Internal+Deprecated, no API changes.
Clarified External/Internal: A RuleSetReference is either absolute
(RuleSet is known) or relative (RuleSet is not known).

Fixes #4313
2024-01-05 12:43:56 +01:00
Andreas Dangel
6ea7206f65
Fix unit tests 2023-12-11 11:14:16 +01:00
Andreas Dangel
9ecbe2e5ce
[cli] Use setters for --dir and positional parameters
This makes it possible to combine both inputs into a single list of
files to be analyzed.
2023-12-11 10:49:44 +01:00
Andreas Dangel
fc3fce1d02
Merge branch 'master' into issue-4676-cpd-cli 2023-12-11 10:32:34 +01:00
Andreas Dangel
1111004991
[cli] Disable closures in annotations feature of picocli
This makes it probably a bit faster and doesn't leave an open groovy
jar file behind.
2023-10-26 15:50:21 +02:00
Andreas Dangel
d4725e6c1b
[java] Improve logging of aux classpath
This includes some stats in AsmSymbolResolver.

Co-authored-by: Clément Fournier <clement.fournier@tu-dresden.de>
2023-10-26 15:49:57 +02:00
Juan Martín Sotuyo Dodero
2e4e1275d4 Merge branch 'master' into runtime-completion 2023-10-19 20:32:19 -03:00
Juan Martín Sotuyo Dodero
974092b7b9 Update javadoc to reflect new behavior 2023-10-19 20:30:25 -03:00
Juan Martín Sotuyo Dodero
7792404e7d Don't hide the completion command 2023-10-19 20:24:26 -03:00
Andreas Dangel
d24d631217
Fix tests 2023-09-28 11:00:22 +02:00
Andreas Dangel
15ea5f0c00
Merge branch 'master' into issue-4583-jdk-21 2023-09-28 10:04:42 +02:00
Andreas Dangel
672afa95c0
[core] CLI - make sure positional inputPaths are not lost 2023-09-22 19:11:11 +02:00
Andreas Dangel
a91e7f8310
[core] Improve logging for CPD 2023-09-22 16:59:00 +02:00
Andreas Dangel
8db5e83a37
[cli] Add test case for CPD --file-list 2023-09-09 10:55:00 +02:00
Wener
d79df96b7d
Update CpdCommand.java 2023-09-06 18:01:19 +02:00
Andreas Dangel
681c52836c
[core] Create CpdLanguageProperties 2023-08-24 11:14:08 +02:00
Andreas Dangel
5200cc9e8a
[cli] Fix javadoc 2023-08-24 09:32:01 +02:00
Andreas Dangel
c6a63da887
[cli] Remove todo about slf4j 2023-08-24 09:28:49 +02:00
Andreas Dangel
67cbb947ef
[cli] Move option "--relativize-paths-with" up to AbstractAnalysisPmdSubcommand
It applies to both PMD and CPD
2023-08-24 09:25:29 +02:00
Andreas Dangel
d061883ca6
[java] Fix CPD tests, use latest java version
Now the files need to be syntactically valid java sources.
2023-08-10 15:36:30 +02:00
Juan Martín Sotuyo Dodero
7062d79577
Fix indentation 2023-06-08 10:13:46 -03:00
Juan Martín Sotuyo Dodero
5a55af46d3 Change completion generation to runtime
- We no longer ship a pre-built completion script
 - A hidden subcommand is available to generate it dynamically based on
   actually available languages.
 - We update docs everywhere accordingly.
2023-06-08 00:28:58 -03:00
Andreas Dangel
835b625d51
[release] prepare for next development iteration 2023-05-30 20:15:08 +02:00
Andreas Dangel
7d6d303488
[release] prepare release pmd_releases/7.0.0-rc3 2023-05-30 20:15:02 +02:00
Clément Fournier
5c436c7bca
Fix cpd outputting unix paths on windows 2023-05-29 16:04:12 +02:00
Clément Fournier
ac33663e94
Fix CPD cli tests 2023-05-29 14:28:30 +02:00
Clément Fournier
bf647357c6
Merge branch 'pmd7-textfile-display-name' into clem.pmd7-refactor-cpd 2023-05-28 13:42:49 +02:00
Andreas Dangel
a9b96729e8
Merge branch 'master' into minimum-priority 2023-05-28 10:22:47 +02:00
Clément Fournier
f2cd5abbab
Merge branch 'master' into clem.pmd7-refactor-cpd 2023-05-26 12:21:08 +02:00
Andreas Dangel
11f0e8a075
[core] Rework slf4j reinitialization
- Support also subclasses of slf4j-simple: e.g. maven uses an own logger factory and own loggers
- Determine the new log level by reevaluating the configuration, similar what the constructors did
- Remove unnecessary PmdLoggerFactoryFriend
2023-05-20 10:29:07 +02:00
Andreas Dangel
e3fd77a63b
[core] Doc and use new CPD option --ignore-sequences 2023-05-19 10:03:29 +02:00
Andreas Dangel
6b4c6b2787
Merge branch 'master' into pr-4470 2023-05-19 09:46:16 +02:00
Andreas Dangel
a35d647fee
[cli] Use RulePriority.name() for completion candidates
This avoids having spaces in the possible values. E.g. MEDIUM_HIGH instead of Medium High.
2023-05-09 21:52:11 +02:00
Andreas Dangel
23756ec662
[cli] Support numeric values for minimum-priority 2023-05-09 20:47:18 +02:00
Andreas Dangel
fa0be31c24
[cli] Add test for minimum-priority 2023-05-09 20:32:26 +02:00
Juan Martín Sotuyo Dodero
cb62fab1c1
Merge pull request #4523 from oowekyala/pmd7.remove-core-cli
[core] Remove old CLI from pmd core
2023-05-02 11:26:29 -03:00
Andreas Dangel
b79e6bd92b
[release] prepare for next development iteration 2023-04-29 23:39:34 +02:00
Andreas Dangel
a97e108269
[release] prepare release pmd_releases/7.0.0-rc2 2023-04-29 23:39:28 +02:00
Clément Fournier
b89970d5fe
Merge branch 'pmd7-textfile-display-name' into clem.pmd7-refactor-cpd 2023-04-29 19:20:38 +02:00
Clément Fournier
82b4d97cb5
Remove old CLI, more doc 2023-04-29 02:52:09 +02:00
Juan Martín Sotuyo Dodero
c54bd846b4 Fix #4484
- Avoid an NPE on properties.
2023-04-18 20:15:48 -03:00
wener
85a0d7f59f Added strings as literal and ignore identifiers in sequences 2023-04-13 17:29:12 +02:00
Andreas Dangel
1c2d77fd6a
Introduce a pmd-languages-deps module
This is kind of a [BOM](https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#bill-of-materials-bom-poms), but different: It defines hard dependencies and not just versions for dependencyManagement.
This new module depends on all languages modules and is used by pmd-cli and by pmd-dist. So, we have only one place to modify, when we add new language modules.
2023-04-06 10:20:42 +02:00
Clément Fournier
837c7952f5
Merge branch 'master' into clem.pmd7-refactor-cpd 2023-04-04 22:11:38 +02:00
Andreas Dangel
d9b2444d7e
[release] prepare for next development iteration 2023-03-25 12:47:33 +01:00
Andreas Dangel
356af8b636
[release] prepare release pmd_releases/7.0.0-rc1 2023-03-25 12:30:51 +01:00
Andreas Dangel
6621603908
[cli] Fix NPE when only --file-list is specified 2023-03-18 11:02:08 +01:00
Clément Fournier
40aa9de6e1
Checkstyle 2023-02-20 14:55:21 +01:00
Clément Fournier
60f28c5c35
Fix cli tests 2023-02-20 14:30:44 +01:00
Clément Fournier
11e2a97c5f
Introduce ts language module 2023-02-20 14:09:07 +01:00
Clément Fournier
a12bbf8dde
Remove duplicated options in AbstractConfiguration
Fix logging issue
2023-02-19 16:51:53 +01:00
Clément Fournier
a3831e95dc
move more things into AbstractConfiguration 2023-02-19 15:39:47 +01:00
Clément Fournier
0134f5e060
Use Path instead of File in CPDConf 2023-02-19 15:02:05 +01:00
Clément Fournier
ddbfc90c14
Fix build 2023-02-12 20:06:28 +01:00
Clément Fournier
fb9f49624d
Delete old CPD Language interface
reorganize cpd modules
2023-02-12 18:03:58 +01:00
Clément Fournier
8fbd830daa
Style and renamings 2023-02-12 17:24:02 +01:00
Clément Fournier
f2cfd8f5a6
More refactorings 2023-02-11 18:43:37 +01:00
Clément Fournier
65d953bfb4
Progress 2023-02-11 18:10:35 +01:00
Clément Fournier
cf81809990
Change a ton of stuff in CPD 2023-02-10 18:21:23 +01:00
Clément Fournier
ef365cd9aa
Merge branch '7.0.x' into pmd7-language-lifecycle 2023-02-02 01:04:53 +01:00
Clément Fournier
a7cf226dae
Merge branch '7.0.x' into pmd7-language-lifecycle 2023-01-30 16:28:19 +01:00
Andreas Dangel
014c28bb1e
Merge branch 'pmd/7.0.x' into pmd7-junit5-part3 2023-01-30 13:36:15 +01:00
Andreas Dangel
78d7033dc4
Fix compile errors 2023-01-30 10:45:52 +01:00
Andreas Dangel
d8b41bab6e
Merge branch 'pmd/7.0.x' into pr-4354 2023-01-30 10:21:50 +01:00
Clément Fournier
32d95a46e8
Merge branch '7.0.x' into pmd7-language-lifecycle 2023-01-27 13:55:39 +01:00
Andreas Dangel
3d530458bb
Remove junit and related dependencies 2023-01-27 11:49:03 +01:00
Andreas Dangel
f1ee39b1f5
Migrate remaining tests to JUnit5 2023-01-27 10:26:49 +01:00
Andreas Dangel
8e558eaeaf
Fixes from review (#4363) 2023-01-26 18:16:39 +01:00
Andreas Dangel
5c9893431f
Merge branch 'pmd/7.0.x' into pmd7-pr-4214 2023-01-26 18:07:54 +01:00
Andreas Dangel
3ab73b7d50
Re-add some cli tests 2023-01-26 16:53:41 +01:00
Andreas Dangel
1861ae5b5f
Move tests from CoreCliTest to PmdCliTest related to --relativize-paths-with 2023-01-26 10:10:22 +01:00
Andreas Dangel
c659e86bea
Add new option --relativize-paths-with to new cli 2023-01-26 10:10:15 +01:00
Andreas Dangel
8fa35ae10d
Remove old --short-names option (cli + ant) 2023-01-26 10:10:09 +01:00
Clément Fournier
310637f357
Merge remote-tracking branch 'origin/clem.pmd7-cpd-deprecations' into clem.pmd7-cpd-deprecations 2023-01-25 17:54:42 +01:00
Clément Fournier
89f959200a
Merge branch '7.0.x' into clem.pmd7-cpd-deprecations 2023-01-25 17:00:10 +01:00
Clément Fournier
2078692d39
Merge branch '7.0.x' into pmd7-language-lifecycle 2023-01-25 00:48:36 +01:00
Clément Fournier
403fcdae82
[core] Move utility classes around 2023-01-23 18:47:52 +01:00
Andreas Dangel
d1d10d1426
[cli] Add "--no-progress" back to PmdCliTest
When running the tests under cygwin, initializing the progressbar fails: The tests stall when executing "tty.exe" to determine the terminal type.
2023-01-22 18:33:26 +01:00
Andreas Dangel
7494fc9ecd
Fixes from review 2023-01-16 15:35:32 +01:00
Andreas Dangel
3afe1aa6d2
Merge branch 'pmd/7.0.x' into pr-4235 2023-01-16 15:07:50 +01:00