diff --git a/SPONSORS.md b/SPONSORS.md
new file mode 100644
index 0000000000..4bbe1c7b55
--- /dev/null
+++ b/SPONSORS.md
@@ -0,0 +1,10 @@
+# PMD's sponsors
+
+Many thanks to all our sponsors:
+
+* [Matt Hargett](https://github.com/matthargett) (@matthargett)
+
+If you also want to sponsor PMD, you have two options:
+
+* [Sponsor @pmd on GitHub Sponsors](https://github.com/sponsors/pmd)
+* [PMD - Open Collective](https://opencollective.com/pmd)
diff --git a/docs/_config.yml b/docs/_config.yml
index a75b2e740a..75b1ae16eb 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1,9 +1,9 @@
repository: pmd/pmd
pmd:
- version: 6.48.0-SNAPSHOT
- previous_version: 6.47.0
- date: 30-July-2022
+ version: 6.49.0-SNAPSHOT
+ previous_version: 6.48.0
+ date: 31-August-2022
release_type: minor
# release types: major, minor, bugfix
diff --git a/docs/pages/next_major_development.md b/docs/pages/next_major_development.md
index 6c53ffc407..5cc83709eb 100644
--- a/docs/pages/next_major_development.md
+++ b/docs/pages/next_major_development.md
@@ -125,6 +125,59 @@ the breaking API changes will be performed in 7.0.0.
an API is tagged as `@Deprecated` or not in the latest minor release. During the development of 7.0.0,
we may decide to remove some APIs that were not tagged as deprecated, though we'll try to avoid it." %}
+#### 6.48.0
+
+##### CPD CLI
+
+* CPD has a new CLI option `--debug`. This option has the same behavior as in PMD. It enables more verbose
+ logging output.
+
+##### Rule Test Framework
+
+* The module "pmd-test", which contains support classes to write rule tests, now **requires Java 8**. If you depend on
+ this module for testing your own custom rules, you'll need to make sure to use at least Java 8.
+* The new module "pmd-test-schema" contains now the XSD schema and the code to parse the rule test XML files. The
+ schema has been extracted in order to easily share it with other tools like the Rule Designer or IDE plugins.
+* Test schema changes:
+ * The attribute `isRegressionTest` of `test-code` is deprecated. The new
+ attribute `disabled` should be used instead for defining whether a rule test should be skipped or not.
+ * The attributes `reinitializeRule` and `useAuxClasspath` of `test-code` are deprecated and assumed true.
+ They will not be replaced.
+ * The new attribute `focused` of `test-code` allows disabling all tests except the focused one temporarily.
+* More information about the rule test framework can be found in the documentation:
+ [Testing your rules](pmd_userdocs_extending_testing.html)
+
+##### Deprecated API
+
+* The experimental Java AST class {% jdoc java::lang.java.ast.ASTGuardedPattern %} has been deprecated and
+ will be removed. It was introduced for Java 17 and Java 18 Preview as part of pattern matching for switch,
+ but it is no longer supported with Java 19 Preview.
+* The interface {% jdoc core::cpd.renderer.CPDRenderer %} is deprecated. For custom CPD renderers
+ the new interface {% jdoc core::cpd.renderer.CPDReportRenderer %} should be used.
+* The class {% jdoc test::testframework.TestDescriptor %} is deprecated, replaced with {% jdoc test-schema::test.schema.RuleTestDescriptor %}.
+* Many methods of {% jdoc test::testframework.RuleTst %} have been deprecated as internal API.
+
+##### Experimental APIs
+
+* To support the Java preview language features "Pattern Matching for Switch" and "Record Patterns", the following
+ AST nodes have been introduced as experimental:
+ * {% jdoc java::lang.java.ast.ASTSwitchGuard %}
+ * {% jdoc java::lang.java.ast.ASTRecordPattern %}
+ * {% jdoc java::lang.java.ast.ASTComponentPatternList %}
+
+##### Internal API
+
+Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
+You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
+
+* {%jdoc !!core::cpd.CPDConfiguration#setRenderer(net.sourceforge.pmd.cpd.Renderer) %}
+* {%jdoc !!core::cpd.CPDConfiguration#setCPDRenderer(net.sourceforge.pmd.cpd.renderer.CPDRenderer) %}
+* {%jdoc !!core::cpd.CPDConfiguration#getRenderer() %}
+* {%jdoc !!core::cpd.CPDConfiguration#getCPDRenderer() %}
+* {%jdoc !!core::cpd.CPDConfiguration#getRendererFromString(java.lang.String,java.lang.String) %}
+* {%jdoc !!core::cpd.CPDConfiguration#getCPDRendererFromString(java.lang.String,java.lang.String) %}
+* {%jdoc core::cpd.renderer.CPDRendererAdapter %}
+
#### 6.47.0
No changes.
diff --git a/docs/pages/pmd/userdocs/cpd/cpd.md b/docs/pages/pmd/userdocs/cpd/cpd.md
index d909eb4f2f..67b81492be 100644
--- a/docs/pages/pmd/userdocs/cpd/cpd.md
+++ b/docs/pages/pmd/userdocs/cpd/cpd.md
@@ -73,6 +73,9 @@ Novice as much as advanced readers may want to [read on on Refactoring Guru](htt
description="Sources code language."
default="java"
%}
+ {% include custom/cli_option_row.html options="--debug,--verbose"
+ description="Debug mode. Prints more log output."
+ %}
{% include custom/cli_option_row.html options="--encoding"
description="Character encoding to use when processing files. If not specified, CPD uses the system default encoding."
%}
diff --git a/docs/pages/release_notes.md b/docs/pages/release_notes.md
index 9188a4833c..b8f8783555 100644
--- a/docs/pages/release_notes.md
+++ b/docs/pages/release_notes.md
@@ -14,112 +14,11 @@ This is a {{ site.pmd.release_type }} release.
### New and noteworthy
-#### Java 19 Support
-
-This release of PMD brings support for Java 19. There are no new standard language features.
-
-PMD supports [JEP 427: Pattern Matching for switch (Third Preview)](https://openjdk.org/jeps/427) and
-[JEP 405: Record Patterns (Preview)](https://openjdk.org/jeps/405) as preview language features.
-
-In order to analyze a project with PMD that uses these language features,
-you'll need to enable it via the environment variable `PMD_JAVA_OPTS` and select the new language
-version `19-preview`:
-
- export PMD_JAVA_OPTS=--enable-preview
- ./run.sh pmd -language java -version 19-preview ...
-
-Note: Support for Java 17 preview language features have been removed. The version "17-preview" is no longer available.
-
-#### Gherkin support
-Thanks to the contribution from [Anne Brouwers](https://github.com/ASBrouwers) PMD now has CPD support
-for the [Gherkin](https://cucumber.io/docs/gherkin/) language. It is used to defined test cases for the
-[Cucumber](https://cucumber.io/) testing tool for behavior-driven development.
-
-Being based on a proper Antlr grammar, CPD can:
-
-* ignore comments
-* honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
-
### Fixed Issues
-* apex
- * [#4056](https://github.com/pmd/pmd/pull/4056): \[apex] ApexSOQLInjection: Add support count query
-* core
- * [#4021](https://github.com/pmd/pmd/pull/4021): \[core] CPD: Add total number of tokens to XML reports
- * [#4031](https://github.com/pmd/pmd/issues/4031): \[core] If report is written to stdout, stdout should not be closed
- * [#4053](https://github.com/pmd/pmd/pull/4053): \[core] Allow building PMD under Java 18+
-* java
- * [#4015](https://github.com/pmd/pmd/issues/4015): \[java] Support JDK 19
-* java-bestpractices
- * [#3455](https://github.com/pmd/pmd/issues/3455): \[java] WhileLoopWithLiteralBoolean - false negative with complex expressions
-* java-design
- * [#3729](https://github.com/pmd/pmd/issues/3729): \[java] TooManyMethods ignores "real" methods which are named like getters or setters
- * [#3949](https://github.com/pmd/pmd/issues/3949): \[java] FinalFieldCouldBeStatic - false negative with unnecessary parenthesis
-* java-performance
- * [#3625](https://github.com/pmd/pmd/issues/3625): \[java] AddEmptyString - false negative with empty var
-* lua
- * [#4061](https://github.com/pmd/pmd/pull/4061): \[lua] Fix several related Lua parsing issues found when using CPD
-* test
- * [#3302](https://github.com/pmd/pmd/pull/3302): \[test] Improve xml test schema
- * [#3758](https://github.com/pmd/pmd/issues/3758): \[test] Move pmd-test to java 8
- * [#3976](https://github.com/pmd/pmd/pull/3976): \[test] Extract xml schema module
### API Changes
-#### Rule Test Framework
-
-* The module "pmd-test", which contains support classes to write rule tests, now **requires Java 8**. If you depend on
- this module for testing your own custom rules, you'll need to make sure to use at least Java 8.
-* The new module "pmd-test-schema" contains now the XSD schema and the code to parse the rule test XML files. The
- schema has been extracted in order to easily share it with other tools like the Rule Designer or IDE plugins.
-* Test schema changes:
- * The attribute `isRegressionTest` of `test-code` is deprecated. The new
- attribute `disabled` should be used instead for defining whether a rule test should be skipped or not.
- * The attributes `reinitializeRule` and `useAuxClasspath` of `test-code` are deprecated and assumed true.
- They will not be replaced.
- * The new attribute `focused` of `test-code` allows disabling all tests except the focused one temporarily.
-* More information about the rule test framework can be found in the documentation:
- [Testing your rules](pmd_userdocs_extending_testing.html)
-
-#### Deprecated API
-
-* The experimental Java AST class {% jdoc java::lang.java.ast.ASTGuardedPattern %} has been deprecated and
- will be removed. It was introduced for Java 17 and Java 18 Preview as part of pattern matching for switch,
- but it is no longer supported with Java 19 Preview.
-* The interface {% jdoc core::cpd.renderer.CPDRenderer %} is deprecated. For custom CPD renderers
- the new interface {% jdoc core::cpd.renderer.CPDReportRenderer %} should be used.
-* The class {% jdoc test::testframework.TestDescriptor %} is deprecated, replaced with {% jdoc test-schema::testframework.RuleTestDescriptor %}.
-* Many methods of {% jdoc test::testframework.RuleTst %} have been deprecated as internal API.
-
-#### Experimental APIs
-
-* To support the Java preview language features "Pattern Matching for Switch" and "Record Patterns", the following
- AST nodes have been introduced as experimental:
- * {% jdoc java::lang.java.ast.ASTSwitchGuard %}
- * {% jdoc java::lang.java.ast.ASTRecordPattern %}
- * {% jdoc java::lang.java.ast.ASTComponentPatternList %}
-
-#### Internal API
-
-Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
-You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
-
-* {%jdoc !!core::cpd.CPDConfiguration#setRenderer(net.sourceforge.pmd.cpd.Renderer) %}
-* {%jdoc !!core::cpd.CPDConfiguration#setCPDRenderer(net.sourceforge.pmd.cpd.renderer.CPDRenderer) %}
-* {%jdoc !!core::cpd.CPDConfiguration#getRenderer() %}
-* {%jdoc !!core::cpd.CPDConfiguration#getCPDRenderer() %}
-* {%jdoc !!core::cpd.CPDConfiguration#getRendererFromString(java.lang.String,java.lang.String) %}
-* {%jdoc !!core::cpd.CPDConfiguration#getCPDRendererFromString(java.lang.String,java.lang.String) %}
-* {%jdoc core::cpd.renderer.CPDRendererAdapter %}
-
### External Contributions
-* [#3984](https://github.com/pmd/pmd/pull/3984): \[java] Fix AddEmptyString false-negative issue - [@LiGaOg](https://github.com/LiGaOg)
-* [#3988](https://github.com/pmd/pmd/pull/3988): \[java] Modify WhileLoopWithLiteralBoolean to meet the missing case #3455 - [@VoidxHoshi](https://github.com/VoidxHoshi)
-* [#3992](https://github.com/pmd/pmd/pull/3992): \[java] FinalFieldCouldBeStatic - fix false negative with unnecessary parenthesis - [@dalizi007](https://github.com/dalizi007)
-* [#3994](https://github.com/pmd/pmd/pull/3994): \[java] TooManyMethods - improve getter/setter detection (#3729) - [@341816041](https://github.com/341816041)
-* [#4017](https://github.com/pmd/pmd/pull/4017): Add Gherkin support to CPD - [@ASBrouwers](https://github.com/ASBrouwers)
-* [#4021](https://github.com/pmd/pmd/pull/4021): \[core] CPD: Add total number of tokens to XML reports - [@maikelsteneker](https://github.com/maikelsteneker)
-* [#4056](https://github.com/pmd/pmd/pull/4056): \[apex] ApexSOQLInjection: Add support count query - [@gwilymatgearset](https://github.com/gwilymatgearset)
-* [#4061](https://github.com/pmd/pmd/pull/4061): \[lua] Fix several related Lua parsing issues found when using CPD - [@matthargett](https://github.com/matthargett)
{% endtocmaker %}
diff --git a/docs/pages/release_notes_old.md b/docs/pages/release_notes_old.md
index e5b53bc05d..cd56c15d74 100644
--- a/docs/pages/release_notes_old.md
+++ b/docs/pages/release_notes_old.md
@@ -5,6 +5,155 @@ permalink: pmd_release_notes_old.html
Previous versions of PMD can be downloaded here: https://github.com/pmd/pmd/releases
+## 30-July-2022 - 6.48.0
+
+The PMD team is pleased to announce PMD 6.48.0.
+
+This is a minor release.
+
+### Table Of Contents
+
+* [New and noteworthy](#new-and-noteworthy)
+ * [Java 19 Support](#java-19-support)
+ * [Gherkin support](#gherkin-support)
+* [Fixed Issues](#fixed-issues)
+* [API Changes](#api-changes)
+ * [CPD CLI](#cpd-cli)
+ * [Rule Test Framework](#rule-test-framework)
+ * [Deprecated API](#deprecated-api)
+ * [Experimental APIs](#experimental-apis)
+ * [Internal API](#internal-api)
+* [Financial Contributions](#financial-contributions)
+* [External Contributions](#external-contributions)
+* [Stats](#stats)
+
+### New and noteworthy
+
+#### Java 19 Support
+
+This release of PMD brings support for Java 19. There are no new standard language features.
+
+PMD supports [JEP 427: Pattern Matching for switch (Third Preview)](https://openjdk.org/jeps/427) and
+[JEP 405: Record Patterns (Preview)](https://openjdk.org/jeps/405) as preview language features.
+
+In order to analyze a project with PMD that uses these language features,
+you'll need to enable it via the environment variable `PMD_JAVA_OPTS` and select the new language
+version `19-preview`:
+
+ export PMD_JAVA_OPTS=--enable-preview
+ ./run.sh pmd -language java -version 19-preview ...
+
+Note: Support for Java 17 preview language features have been removed. The version "17-preview" is no longer available.
+
+#### Gherkin support
+Thanks to the contribution from [Anne Brouwers](https://github.com/ASBrouwers) PMD now has CPD support
+for the [Gherkin](https://cucumber.io/docs/gherkin/) language. It is used to defined test cases for the
+[Cucumber](https://cucumber.io/) testing tool for behavior-driven development.
+
+Being based on a proper Antlr grammar, CPD can:
+
+* ignore comments
+* honor [comment-based suppressions](pmd_userdocs_cpd.html#suppression)
+
+### Fixed Issues
+* apex
+ * [#4056](https://github.com/pmd/pmd/pull/4056): \[apex] ApexSOQLInjection: Add support count query
+* core
+ * [#3796](https://github.com/pmd/pmd/issues/3796): \[core] CPD should also provide a `--debug` flag
+ * [#4021](https://github.com/pmd/pmd/pull/4021): \[core] CPD: Add total number of tokens to XML reports
+ * [#4031](https://github.com/pmd/pmd/issues/4031): \[core] If report is written to stdout, stdout should not be closed
+ * [#4051](https://github.com/pmd/pmd/issues/4051): \[doc] Additional rulesets are not listed in documentation
+ * [#4053](https://github.com/pmd/pmd/pull/4053): \[core] Allow building PMD under Java 18+
+* java
+ * [#4015](https://github.com/pmd/pmd/issues/4015): \[java] Support JDK 19
+* java-bestpractices
+ * [#3455](https://github.com/pmd/pmd/issues/3455): \[java] WhileLoopWithLiteralBoolean - false negative with complex expressions
+* java-design
+ * [#3729](https://github.com/pmd/pmd/issues/3729): \[java] TooManyMethods ignores "real" methods which are named like getters or setters
+ * [#3949](https://github.com/pmd/pmd/issues/3949): \[java] FinalFieldCouldBeStatic - false negative with unnecessary parenthesis
+* java-performance
+ * [#3625](https://github.com/pmd/pmd/issues/3625): \[java] AddEmptyString - false negative with empty var
+* lua
+ * [#4061](https://github.com/pmd/pmd/pull/4061): \[lua] Fix several related Lua parsing issues found when using CPD
+* test
+ * [#3302](https://github.com/pmd/pmd/pull/3302): \[test] Improve xml test schema
+ * [#3758](https://github.com/pmd/pmd/issues/3758): \[test] Move pmd-test to java 8
+ * [#3976](https://github.com/pmd/pmd/pull/3976): \[test] Extract xml schema module
+
+### API Changes
+
+#### CPD CLI
+
+* CPD has a new CLI option `--debug`. This option has the same behavior as in PMD. It enables more verbose
+ logging output.
+
+#### Rule Test Framework
+
+* The module "pmd-test", which contains support classes to write rule tests, now **requires Java 8**. If you depend on
+ this module for testing your own custom rules, you'll need to make sure to use at least Java 8.
+* The new module "pmd-test-schema" contains now the XSD schema and the code to parse the rule test XML files. The
+ schema has been extracted in order to easily share it with other tools like the Rule Designer or IDE plugins.
+* Test schema changes:
+ * The attribute `isRegressionTest` of `test-code` is deprecated. The new
+ attribute `disabled` should be used instead for defining whether a rule test should be skipped or not.
+ * The attributes `reinitializeRule` and `useAuxClasspath` of `test-code` are deprecated and assumed true.
+ They will not be replaced.
+ * The new attribute `focused` of `test-code` allows disabling all tests except the focused one temporarily.
+* More information about the rule test framework can be found in the documentation:
+ [Testing your rules](pmd_userdocs_extending_testing.html)
+
+#### Deprecated API
+
+* The experimental Java AST class ASTGuardedPattern has been deprecated and
+ will be removed. It was introduced for Java 17 and Java 18 Preview as part of pattern matching for switch,
+ but it is no longer supported with Java 19 Preview.
+* The interface CPDRenderer is deprecated. For custom CPD renderers
+ the new interface CPDReportRenderer should be used.
+* The class TestDescriptor is deprecated, replaced with RuleTestDescriptor.
+* Many methods of RuleTst have been deprecated as internal API.
+
+#### Experimental APIs
+
+* To support the Java preview language features "Pattern Matching for Switch" and "Record Patterns", the following
+ AST nodes have been introduced as experimental:
+ * ASTSwitchGuard
+ * ASTRecordPattern
+ * ASTComponentPatternList
+
+#### Internal API
+
+Those APIs are not intended to be used by clients, and will be hidden or removed with PMD 7.0.0.
+You can identify them with the `@InternalApi` annotation. You'll also get a deprecation warning.
+
+* CPDConfiguration#setRenderer
+* CPDConfiguration#setCPDRenderer
+* CPDConfiguration#getRenderer
+* CPDConfiguration#getCPDRenderer
+* CPDConfiguration#getRendererFromString
+* CPDConfiguration#getCPDRendererFromString
+* CPDRendererAdapter
+
+### Financial Contributions
+
+Many thanks to our sponsors:
+
+* [Matt Hargett](https://github.com/matthargett) (@matthargett)
+
+### External Contributions
+* [#3984](https://github.com/pmd/pmd/pull/3984): \[java] Fix AddEmptyString false-negative issue - [@LiGaOg](https://github.com/LiGaOg)
+* [#3988](https://github.com/pmd/pmd/pull/3988): \[java] Modify WhileLoopWithLiteralBoolean to meet the missing case #3455 - [@VoidxHoshi](https://github.com/VoidxHoshi)
+* [#3992](https://github.com/pmd/pmd/pull/3992): \[java] FinalFieldCouldBeStatic - fix false negative with unnecessary parenthesis - [@dalizi007](https://github.com/dalizi007)
+* [#3994](https://github.com/pmd/pmd/pull/3994): \[java] TooManyMethods - improve getter/setter detection (#3729) - [@341816041](https://github.com/341816041)
+* [#4017](https://github.com/pmd/pmd/pull/4017): Add Gherkin support to CPD - [@ASBrouwers](https://github.com/ASBrouwers)
+* [#4021](https://github.com/pmd/pmd/pull/4021): \[core] CPD: Add total number of tokens to XML reports - [@maikelsteneker](https://github.com/maikelsteneker)
+* [#4056](https://github.com/pmd/pmd/pull/4056): \[apex] ApexSOQLInjection: Add support count query - [@gwilymatgearset](https://github.com/gwilymatgearset)
+* [#4061](https://github.com/pmd/pmd/pull/4061): \[lua] Fix several related Lua parsing issues found when using CPD - [@matthargett](https://github.com/matthargett)
+
+### Stats
+* 102 commits
+* 26 closed tickets & PRs
+* Days since last release: 35
+
## 25-June-2022 - 6.47.0
The PMD team is pleased to announce PMD 6.47.0.
diff --git a/pmd-apex-jorje/pom.xml b/pmd-apex-jorje/pom.xml
index c368f726dc..9d82fcc6e2 100644
--- a/pmd-apex-jorje/pom.xml
+++ b/pmd-apex-jorje/pom.xml
@@ -8,7 +8,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-apex/pom.xml b/pmd-apex/pom.xml
index 5a5f208f72..64d14d5a86 100644
--- a/pmd-apex/pom.xml
+++ b/pmd-apex/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-core/pom.xml b/pmd-core/pom.xml
index d7bf9e1b27..f43367694a 100644
--- a/pmd-core/pom.xml
+++ b/pmd-core/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java
index 0ffc7b397d..b7a39e7112 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPD.java
@@ -16,6 +16,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
+import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -28,6 +29,7 @@ import net.sourceforge.pmd.util.IOUtil;
import net.sourceforge.pmd.util.database.DBMSMetadata;
import net.sourceforge.pmd.util.database.DBURI;
import net.sourceforge.pmd.util.database.SourceObject;
+import net.sourceforge.pmd.util.log.ScopedLogHandlersManager;
public class CPD {
private static final Logger LOGGER = Logger.getLogger(CPD.class.getName());
@@ -54,8 +56,10 @@ public class CPD {
}
public void go() {
+ LOGGER.fine("Running match algorithm on " + source.size() + " files...");
matchAlgorithm = new MatchAlgorithm(source, tokens, configuration.getMinimumTileSize(), listener);
matchAlgorithm.findMatches();
+ LOGGER.fine("Finished: " + matchAlgorithm.getMatches().size() + " duplicates found");
}
public Iterator getMatches() {
@@ -80,6 +84,7 @@ public class CPD {
if (!dir.exists()) {
throw new FileNotFoundException("Couldn't find directory " + dir);
}
+ LOGGER.fine("Searching directory " + dir + " for files");
FileFinder finder = new FileFinder();
// TODO - could use SourceFileSelector here
add(finder.findFilesFrom(dir, configuration.filenameFilter(), recurse));
@@ -145,6 +150,7 @@ public class CPD {
}
private void addAndThrowLexicalError(SourceCode sourceCode) throws IOException {
+ LOGGER.fine("Tokenizing " + sourceCode.getFileName());
configuration.tokenizer().tokenize(sourceCode, tokens);
listener.addedFile(1, new File(sourceCode.getFileName()));
source.put(sourceCode.getFileName(), sourceCode);
@@ -206,6 +212,13 @@ public class CPD {
return statusCode;
}
+ final Level logLevel = arguments.isDebug() ? Level.FINER : Level.INFO;
+ final ScopedLogHandlersManager logHandlerManager = new ScopedLogHandlersManager(logLevel, new ConsoleHandler());
+ final Level oldLogLevel = LOGGER.getLevel();
+ // Need to do this, since the static logger has already been initialized
+ // at this point
+ LOGGER.setLevel(logLevel);
+
CPD cpd = new CPD(arguments);
try {
@@ -233,6 +246,9 @@ public class CPD {
e.printStackTrace();
LOGGER.severe(CliMessages.errorDetectedMessage(1, CPDCommandLineInterface.PROGRAM_NAME));
statusCode = StatusCode.ERROR;
+ } finally {
+ logHandlerManager.close();
+ LOGGER.setLevel(oldLogLevel);
}
return statusCode;
}
diff --git a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java
index abda86e5e0..82906e807b 100644
--- a/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java
+++ b/pmd-core/src/main/java/net/sourceforge/pmd/cpd/CPDConfiguration.java
@@ -141,6 +141,9 @@ public class CPDConfiguration extends AbstractConfiguration {
description = "By default CPD exits with status 4 if code duplications are found. Disable this option with '-failOnViolation false' to exit with 0 instead and just write the report.")
private boolean failOnViolation = true;
+ @Parameter(names = { "--debug", "--verbose" }, description = "Debug mode.")
+ private boolean debug = false;
+
// this has to be a public static class, so that JCommander can use it!
public static class LanguageConverter implements IStringConverter {
@@ -540,4 +543,14 @@ public class CPDConfiguration extends AbstractConfiguration {
public void setFailOnViolation(boolean failOnViolation) {
this.failOnViolation = failOnViolation;
}
+
+ @Override
+ public boolean isDebug() {
+ return debug;
+ }
+
+ @Override
+ public void setDebug(boolean debug) {
+ this.debug = debug;
+ }
}
diff --git a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java
index ce680e4c5b..a01b355b7d 100644
--- a/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java
+++ b/pmd-core/src/test/java/net/sourceforge/pmd/cpd/CPDCommandLineInterfaceTest.java
@@ -4,6 +4,10 @@
package net.sourceforge.pmd.cpd;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.not;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -17,9 +21,9 @@ import java.util.Collection;
import java.util.List;
import java.util.Map;
-import org.junit.Assert;
import org.junit.Rule;
import org.junit.Test;
+import org.junit.contrib.java.lang.system.SystemErrRule;
import org.junit.contrib.java.lang.system.SystemOutRule;
import org.junit.rules.TemporaryFolder;
@@ -39,6 +43,10 @@ public class CPDCommandLineInterfaceTest {
@Rule
public final SystemOutRule log = new SystemOutRule().enableLog().muteForSuccessfulTests();
+
+ @Rule
+ public final SystemErrRule errLog = new SystemErrRule().enableLog().muteForSuccessfulTests();
+
@Rule
public final JavaUtilLoggingRule loggingRule = new JavaUtilLoggingRule(PMD.class.getPackage().getName()).mute();
@Rule
@@ -65,8 +73,8 @@ public class CPDCommandLineInterfaceTest {
CPD.StatusCode statusCode = CPD.runCpd("--minimum-tokens", "340", "--language", "java", "--files",
SRC_DIR, "--format", "xml");
final String expectedFilesXml = getExpectedFileEntriesXml(NUMBER_OF_TOKENS.keySet());
- Assert.assertEquals(CPD.StatusCode.OK, statusCode);
- Assert.assertEquals("" + "\n" + "" + "\n" + expectedFilesXml + "", log.getLog());
+ assertEquals(CPD.StatusCode.OK, statusCode);
+ assertEquals("" + "\n" + "" + "\n" + expectedFilesXml + "", log.getLog());
}
@Test
@@ -80,12 +88,29 @@ public class CPDCommandLineInterfaceTest {
CPD.StatusCode statusCode = CPD.runCpd("--minimum-tokens", "340", "--language", "java", "--filelist",
filelist.toAbsolutePath().toString(), "--format", "xml", "-failOnViolation", "true");
- Assert.assertEquals(CPD.StatusCode.OK, statusCode);
- Assert.assertEquals("" + "\n" + "" + "\n" + expectedFilesXml + "", log.getLog());
+ assertEquals(CPD.StatusCode.OK, statusCode);
+ assertEquals("" + "\n" + "" + "\n" + expectedFilesXml + "", log.getLog());
assertTrue(loggingRule.getLog().contains("Some deprecated options were used on the command-line, including -failOnViolation"));
assertTrue(loggingRule.getLog().contains("Consider replacing it with --fail-on-violation"));
// only one parameter is logged
assertFalse(loggingRule.getLog().contains("Some deprecated options were used on the command-line, including --filelist"));
assertFalse(loggingRule.getLog().contains("Consider replacing it with --file-list"));
}
+
+ @Test
+ public void testDebugLogging() {
+ CPD.StatusCode statusCode = CPD.runCpd("--minimum-tokens", "340", "--language", "java", "--files",
+ SRC_DIR, "--debug");
+ assertEquals(CPD.StatusCode.OK, statusCode);
+ assertThat(errLog.getLog(), containsString("Tokenizing ")); // this is a debug logging
+ }
+
+ @Test
+ public void testNormalLogging() {
+ loggingRule.clear();
+ CPD.StatusCode statusCode = CPD.runCpd("--minimum-tokens", "340", "--language", "java", "--files",
+ SRC_DIR);
+ assertEquals(CPD.StatusCode.OK, statusCode);
+ assertThat(errLog.getLog(), not(containsString("Tokenizing "))); // this is a debug logging
+ }
}
diff --git a/pmd-cpp/pom.xml b/pmd-cpp/pom.xml
index cfbe955501..6f3d3afcee 100644
--- a/pmd-cpp/pom.xml
+++ b/pmd-cpp/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-cs/pom.xml b/pmd-cs/pom.xml
index 36a4e08e0a..345f57f90b 100644
--- a/pmd-cs/pom.xml
+++ b/pmd-cs/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-dart/pom.xml b/pmd-dart/pom.xml
index e3c472c466..8989f246ce 100644
--- a/pmd-dart/pom.xml
+++ b/pmd-dart/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-dist/pom.xml b/pmd-dist/pom.xml
index c41b723273..c5912ee704 100644
--- a/pmd-dist/pom.xml
+++ b/pmd-dist/pom.xml
@@ -8,7 +8,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-doc/pom.xml b/pmd-doc/pom.xml
index f35338c8c1..d53987ee65 100644
--- a/pmd-doc/pom.xml
+++ b/pmd-doc/pom.xml
@@ -8,7 +8,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/GenerateRuleDocsCmd.java b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/GenerateRuleDocsCmd.java
index d5b3002a6b..b434d4e8f5 100644
--- a/pmd-doc/src/main/java/net/sourceforge/pmd/docs/GenerateRuleDocsCmd.java
+++ b/pmd-doc/src/main/java/net/sourceforge/pmd/docs/GenerateRuleDocsCmd.java
@@ -47,16 +47,17 @@ public final class GenerateRuleDocsCmd {
System.out.println("Generated docs in " + (System.currentTimeMillis() - start) + " ms");
}
+ static final Pattern ADDITIONAL_RULESET_PATTERN = Pattern.compile("^.+" + Pattern.quote(File.separator) + "pmd-\\w+"
+ + Pattern.quote(IOUtil.normalizePath(File.separator + Paths.get("src", "main", "resources", "rulesets").toString()) + File.separator)
+ + "\\w+" + Pattern.quote(File.separator) + "\\w+.xml$");
+
public static List findAdditionalRulesets(Path basePath) {
try {
List additionalRulesets = new ArrayList<>();
- Pattern rulesetPattern = Pattern.compile("^.+" + Pattern.quote(File.separator) + "pmd-\\w+"
- + Pattern.quote(IOUtil.normalizePath(File.separator + Paths.get("src", "main", "resources", "rulesets").toString() + File.separator))
- + "\\w+" + Pattern.quote(File.separator) + "\\w+.xml$");
Files.walkFileTree(basePath, new SimpleFileVisitor() {
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
- if (rulesetPattern.matcher(file.toString()).matches()) {
+ if (ADDITIONAL_RULESET_PATTERN.matcher(file.toString()).matches()) {
additionalRulesets.add(file.toString());
}
diff --git a/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleSetResolverTest.java b/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleSetResolverTest.java
index 3d85da8daa..bafaed3623 100644
--- a/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleSetResolverTest.java
+++ b/pmd-doc/src/test/java/net/sourceforge/pmd/docs/RuleSetResolverTest.java
@@ -4,6 +4,8 @@
package net.sourceforge.pmd.docs;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.nio.file.FileSystems;
@@ -34,6 +36,8 @@ public class RuleSetResolverTest {
filterRuleSets(additionalRulesets);
+ assertFalse(additionalRulesets.isEmpty());
+
RuleSetFactory ruleSetFactory = RulesetsFactoryUtils.defaultFactory();
for (String filename : additionalRulesets) {
try {
@@ -44,6 +48,12 @@ public class RuleSetResolverTest {
}
}
+ @Test
+ public void testAdditionalRulesetPattern() {
+ String filePath = IOUtil.normalizePath("/home/foo/pmd/pmd-java/src/main/resources/rulesets/java/quickstart.xml");
+ assertTrue(GenerateRuleDocsCmd.ADDITIONAL_RULESET_PATTERN.matcher(filePath).matches());
+ }
+
private void filterRuleSets(List additionalRulesets) {
Iterator it = additionalRulesets.iterator();
while (it.hasNext()) {
diff --git a/pmd-fortran/pom.xml b/pmd-fortran/pom.xml
index 55afe0f0ca..c092b17d49 100644
--- a/pmd-fortran/pom.xml
+++ b/pmd-fortran/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-gherkin/pom.xml b/pmd-gherkin/pom.xml
index e49be3647b..047f06705d 100644
--- a/pmd-gherkin/pom.xml
+++ b/pmd-gherkin/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-go/pom.xml b/pmd-go/pom.xml
index 9c7c525e53..8fff13187f 100644
--- a/pmd-go/pom.xml
+++ b/pmd-go/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-groovy/pom.xml b/pmd-groovy/pom.xml
index db176baebe..4f04a88d66 100644
--- a/pmd-groovy/pom.xml
+++ b/pmd-groovy/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-html/pom.xml b/pmd-html/pom.xml
index db21698140..70c45debaa 100644
--- a/pmd-html/pom.xml
+++ b/pmd-html/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-java/pom.xml b/pmd-java/pom.xml
index ddd74247e6..1f0ca4dae9 100644
--- a/pmd-java/pom.xml
+++ b/pmd-java/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-java8/pom.xml b/pmd-java8/pom.xml
index a122fd7a41..6a4c97c7c6 100644
--- a/pmd-java8/pom.xml
+++ b/pmd-java8/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-javascript/pom.xml b/pmd-javascript/pom.xml
index 1fb34e70f5..0c58e2aef2 100644
--- a/pmd-javascript/pom.xml
+++ b/pmd-javascript/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-jsp/pom.xml b/pmd-jsp/pom.xml
index 2689d0b071..14f1f6d76b 100644
--- a/pmd-jsp/pom.xml
+++ b/pmd-jsp/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-kotlin/pom.xml b/pmd-kotlin/pom.xml
index 4e226a123d..125ac5cdc0 100644
--- a/pmd-kotlin/pom.xml
+++ b/pmd-kotlin/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-lang-test/pom.xml b/pmd-lang-test/pom.xml
index b8c6d65a03..f53f195b22 100644
--- a/pmd-lang-test/pom.xml
+++ b/pmd-lang-test/pom.xml
@@ -12,7 +12,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-lua/pom.xml b/pmd-lua/pom.xml
index 180aa92f43..f342207fd0 100644
--- a/pmd-lua/pom.xml
+++ b/pmd-lua/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-matlab/pom.xml b/pmd-matlab/pom.xml
index af78df7ea9..be40507861 100644
--- a/pmd-matlab/pom.xml
+++ b/pmd-matlab/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-modelica/pom.xml b/pmd-modelica/pom.xml
index 72480f6f5a..72b7a50b8f 100644
--- a/pmd-modelica/pom.xml
+++ b/pmd-modelica/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-objectivec/pom.xml b/pmd-objectivec/pom.xml
index fca206b41e..4aee2cf7dc 100644
--- a/pmd-objectivec/pom.xml
+++ b/pmd-objectivec/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-perl/pom.xml b/pmd-perl/pom.xml
index a3a95bb798..9a44d3d7d7 100644
--- a/pmd-perl/pom.xml
+++ b/pmd-perl/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-php/pom.xml b/pmd-php/pom.xml
index 029be6c047..af01ee2f6f 100644
--- a/pmd-php/pom.xml
+++ b/pmd-php/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-plsql/pom.xml b/pmd-plsql/pom.xml
index c217149637..b3cf518cce 100644
--- a/pmd-plsql/pom.xml
+++ b/pmd-plsql/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-python/pom.xml b/pmd-python/pom.xml
index 7a4c58569d..9c30438d09 100644
--- a/pmd-python/pom.xml
+++ b/pmd-python/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-ruby/pom.xml b/pmd-ruby/pom.xml
index 6631300aa5..62b5d6b15b 100644
--- a/pmd-ruby/pom.xml
+++ b/pmd-ruby/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-scala-modules/pmd-scala-common/pom.xml b/pmd-scala-modules/pmd-scala-common/pom.xml
index 5029a7d0a3..14ac1f8367 100644
--- a/pmd-scala-modules/pmd-scala-common/pom.xml
+++ b/pmd-scala-modules/pmd-scala-common/pom.xml
@@ -8,7 +8,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../../pom.xml
diff --git a/pmd-scala-modules/pmd-scala_2.12/pom.xml b/pmd-scala-modules/pmd-scala_2.12/pom.xml
index 2de4376841..61ac0b7d84 100644
--- a/pmd-scala-modules/pmd-scala_2.12/pom.xml
+++ b/pmd-scala-modules/pmd-scala_2.12/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd-scala-common
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pmd-scala-common/pom.xml
diff --git a/pmd-scala-modules/pmd-scala_2.13/pom.xml b/pmd-scala-modules/pmd-scala_2.13/pom.xml
index a7e7e17bed..6bf91dcd09 100644
--- a/pmd-scala-modules/pmd-scala_2.13/pom.xml
+++ b/pmd-scala-modules/pmd-scala_2.13/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd-scala-common
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pmd-scala-common/pom.xml
diff --git a/pmd-scala/pom.xml b/pmd-scala/pom.xml
index 513cbc7fda..c12939498b 100644
--- a/pmd-scala/pom.xml
+++ b/pmd-scala/pom.xml
@@ -9,7 +9,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-swift/pom.xml b/pmd-swift/pom.xml
index 9a600748c1..43699a38b0 100644
--- a/pmd-swift/pom.xml
+++ b/pmd-swift/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-test-schema/pom.xml b/pmd-test-schema/pom.xml
index e1dacde506..5bb6d34c03 100644
--- a/pmd-test-schema/pom.xml
+++ b/pmd-test-schema/pom.xml
@@ -1,7 +1,5 @@
-
+
4.0.0
pmd-test-schema
PMD Test Schema
@@ -13,7 +11,7 @@
pmd
net.sourceforge.pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-test-schema/src/main/java/net/sourceforge/pmd/test/schema/BaseTestParserImpl.java b/pmd-test-schema/src/main/java/net/sourceforge/pmd/test/schema/BaseTestParserImpl.java
index 192b11ba4a..761fa508bf 100644
--- a/pmd-test-schema/src/main/java/net/sourceforge/pmd/test/schema/BaseTestParserImpl.java
+++ b/pmd-test-schema/src/main/java/net/sourceforge/pmd/test/schema/BaseTestParserImpl.java
@@ -96,7 +96,7 @@ class BaseTestParserImpl {
parseBoolAttribute(testCode, "useAuxClasspath", true, err, "Attribute 'useAuxClasspath' is deprecated and ignored, assumed true");
boolean disabled = parseBoolAttribute(testCode, "disabled", false, err, null)
- | !parseBoolAttribute(testCode, "regressionTest", true, err, "Attribute ''regressionTest'' is deprecated, use ''ignored'' with inverted value");
+ | !parseBoolAttribute(testCode, "regressionTest", true, err, "Attribute ''regressionTest'' is deprecated, use ''disabled'' with inverted value");
descriptor.setDisabled(disabled);
diff --git a/pmd-test-schema/src/test/java/net/sourceforge/pmd/test/schema/TestSchemaParserTest.java b/pmd-test-schema/src/test/java/net/sourceforge/pmd/test/schema/TestSchemaParserTest.java
index 1b38d243f6..286b61cd8e 100644
--- a/pmd-test-schema/src/test/java/net/sourceforge/pmd/test/schema/TestSchemaParserTest.java
+++ b/pmd-test-schema/src/test/java/net/sourceforge/pmd/test/schema/TestSchemaParserTest.java
@@ -82,7 +82,7 @@ public class TestSchemaParserTest {
assertEquals(1, parsed.getTests().size());
MatcherAssert.assertThat(errStreamCaptor.getLog(), containsString(" 6| \n"
- + " ^^^^^^^^^^^^^^ Attribute 'regressionTest' is deprecated, use 'ignored' with inverted value\n"));
+ + " ^^^^^^^^^^^^^^ Attribute 'regressionTest' is deprecated, use 'disabled' with inverted value\n"));
}
@Test
diff --git a/pmd-test/pom.xml b/pmd-test/pom.xml
index a161cf6458..50e48f3a30 100644
--- a/pmd-test/pom.xml
+++ b/pmd-test/pom.xml
@@ -8,7 +8,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-visualforce/pom.xml b/pmd-visualforce/pom.xml
index 6285b89b29..f66ecc00cb 100644
--- a/pmd-visualforce/pom.xml
+++ b/pmd-visualforce/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-vm/pom.xml b/pmd-vm/pom.xml
index 238203f2f0..597785ae98 100644
--- a/pmd-vm/pom.xml
+++ b/pmd-vm/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pmd-xml/pom.xml b/pmd-xml/pom.xml
index c3ade37bbd..3b5e97f73e 100644
--- a/pmd-xml/pom.xml
+++ b/pmd-xml/pom.xml
@@ -7,7 +7,7 @@
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
../pom.xml
diff --git a/pom.xml b/pom.xml
index 065b719b70..1f7aa9e9b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
net.sourceforge.pmd
pmd
- 6.48.0-SNAPSHOT
+ 6.49.0-SNAPSHOT
pom
PMD
@@ -76,7 +76,7 @@
- 2022-06-25T07:30:42Z
+ 2022-07-30T09:35:57Z
7
@@ -104,7 +104,7 @@
https://pmd.github.io/pmd
-Xmx512m -Dfile.encoding=${project.build.sourceEncoding} ${extraArgLine}
-
+
18
@@ -407,22 +407,22 @@
net.sourceforge.pmd
pmd-core
- 6.47.0
+ 6.48.0
net.sourceforge.pmd
pmd-java
- 6.47.0
+ 6.48.0
net.sourceforge.pmd
pmd-jsp
- 6.47.0
+ 6.48.0
net.sourceforge.pmd
pmd-javascript
- 6.47.0
+ 6.48.0