pmd:aggregate-pmd
Note:This goal should be used as a Maven report.
Full name:
org.apache.maven.plugins:maven-pmd-plugin:3.18.0:aggregate-pmd
Description:
Attributes:
- Requires a Maven project to be executed.
- Executes as an aggregator plugin.
- Requires dependency resolution of artifacts in scope:
test
. - The goal is thread-safe and supports parallel builds.
- Since version:
3.15.0
. - Invokes the execution of the lifecycle phase
test-compile
prior to executing itself.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<targetDirectory> |
File |
3.15.0 |
The output directory for the intermediate XML report. User property is: project.build.directory . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<aggregate> |
boolean |
2.2 |
Deprecated. since 3.15.0 Use the goals pmd:aggregate-pmd and
pmd:aggregate-cpd instead.Default value is: false .User property is: aggregate . |
<analysisCache> |
boolean |
3.8 |
Enables the analysis cache, which speeds up PMD. This requires a
cache file, that contains the results of the last PMD run. Thus the
cache is only effective, if this file is not cleaned between runs. Default value is: false .User property is: pmd.analysisCache . |
<analysisCacheLocation> |
String |
3.8 |
The location of the analysis cache, if it is enabled. This file
contains the results of the last PMD run and must not be cleaned
between consecutive PMD runs. Otherwise the cache is not in use. If
the file doesn't exist, PMD executes as if there is no cache
enabled and all files are analyzed. Otherwise only changed files
will be analyzed again. Default value is: ${project.build.directory}/pmd/pmd.cache .User property is: pmd.analysisCacheLocation . |
<benchmark> |
boolean |
3.1 |
Controls whether PMD will track benchmark information. Default value is: false .User property is: pmd.benchmark . |
<benchmarkOutputFilename> |
String |
3.1 |
Benchmark output filename. Default value is: ${project.build.directory}/pmd-benchmark.txt .User property is: pmd.benchmarkOutputFilename . |
<compileSourceRoots> |
List |
3.7 |
Specifies the location of the source directories to be used for
PMD. Defaults to project.compileSourceRoots .Default value is: ${project.compileSourceRoots} . |
<excludeFromFailureFile> |
String |
3.7 |
File that lists classes and rules to be excluded from failures. For
PMD, this is a properties file. For CPD, this is a text file that
contains comma-separated lists of classes that are allowed to
duplicate. User property is: pmd.excludeFromFailureFile . |
<excludeRoots> |
File[] |
2.2 |
The project source directories that should be excluded. |
<excludes> |
List |
2.2 |
A list of files to exclude from checking. Can contain Ant-style
wildcards and double wildcards. Note that these exclusion patterns
only operate on the path of a source file relative to its source
root directory. In other words, files are excluded based on their
package and/or class name. If you want to exclude entire source
root directories, use the parameter excludeRoots
instead. |
<format> |
String |
3.15.0 |
Set the output format type, in addition to the HTML report. Must be
one of: "none", "csv", "xml", "txt" or the full class name of the
PMD renderer to use. See the net.sourceforge.pmd.renderers package
javadoc for available renderers. XML is produced in any case, since
this format is needed for the check goals (pmd:check,
pmd:aggregator-check, pmd:cpd-check, pmd:aggregator-cpd-check). Default value is: xml .User property is: format . |
<includeTests> |
boolean |
2.2 |
Run PMD on the tests. Default value is: false . |
<includeXmlInSite> |
boolean |
3.0 |
Whether to include the xml files generated by PMD/CPD in the site. Default value is: false . |
<includes> |
List |
2.2 |
A list of files to include from checking. Can contain Ant-style
wildcards and double wildcards. Defaults to **\/*.java. |
<jdkToolchain> |
Map |
3.14.0 |
Allow for configuration of the jvm used to run PMD via maven toolchains. This permits a configuration where the project is built with one jvm and PMD is executed with another. This overrules the toolchain selected by the maven-toolchain-plugin. Examples: (see Guide to Toolchains for more info)
|
<language> |
String |
3.0 |
The programming language to be analyzed by PMD. Valid values are
currently java , javascript and
jsp .Default value is: java . |
<linkXRef> |
boolean |
3.15.0 |
Link the violation line numbers to the source xref. Links will be
created automatically if the jxr plugin is being used. Default value is: true .User property is: linkXRef . |
<minimumPriority> |
int |
2.1 |
The rule priority threshold; rules with lower priority than this
will not be evaluated. Default value is: 5 .User property is: minimumPriority . |
<renderProcessingErrors> |
boolean |
3.9.0 |
Also render processing errors into the HTML report. Processing
errors are problems, that PMD encountered while executing the
rules. It can be parsing errors or exceptions during rule
execution. Processing errors indicate a bug in PMD and the
information provided help in reporting and fixing bugs in PMD. Default value is: true .User property is: pmd.renderProcessingErrors . |
<renderRuleViolationPriority> |
boolean |
3.10.0 |
Also render the rule priority into the HTML report. Default value is: true .User property is: pmd.renderRuleViolationPriority . |
<renderSuppressedViolations> |
boolean |
3.17.0 |
Add a section in the HTML report that lists the suppressed
violations. Default value is: true .User property is: pmd.renderSuppressedViolations . |
<renderViolationsByPriority> |
boolean |
3.12.0 |
Add a section in the HTML report, that groups the found violations
by rule priority in addition to grouping by file. Default value is: true .User property is: pmd.renderViolationsByPriority . |
<rulesets> |
String[] |
3.15.0 |
The PMD rulesets to use. See the Stock Java
Rulesets for a list of available rules. Defaults to a custom
ruleset provided by this maven plugin
(/rulesets/java/maven-pmd-plugin-default.xml ). |
<rulesetsTargetDirectory> |
File |
3.13.0 |
Before PMD is executed, the configured rulesets are resolved and
copied into this directory.
Note: Before 3.13.0, this was by default ${project.build.directory}. Default value is: ${project.build.directory}/pmd/rulesets .User property is: pmd.rulesetsTargetDirectory . |
<showPmdLog> |
boolean |
3.9.0 |
Redirect PMD log into maven log out. When enabled, the PMD log
output is redirected to maven, so that it is visible in the console
together with all the other log output. Also, if maven is started
with the debug flag (-X or --debug ), the
PMD logger is also configured for debug.Default value is: true .User property is: pmd.showPmdLog . |
<skip> |
boolean |
2.1 |
Skip the PMD report generation. Most useful on the command line via
"-Dpmd.skip=true". Default value is: false .User property is: pmd.skip . |
<skipEmptyReport> |
boolean |
3.1 |
Skip the PMD/CPD report generation if there are no violations or
duplications found. Defaults to false .
Note: the default value was changed from Default value is: false . |
<skipPmdError> |
boolean |
3.1 |
per default pmd executions error are ignored to not break the whole Default value is: true .User property is: pmd.skipPmdError . |
<suppressMarker> |
String |
3.4 |
Source level marker used to indicate whether a RuleViolation should
be suppressed. If it is not set, PMD's default will be used, which
is NOPMD . See also PMD
- Suppressing warnings.User property is: pmd.suppressMarker . |
<targetJdk> |
String |
3.15.0 |
The target JDK to analyze based on. Should match the source used in
the compiler plugin. Valid values with the default PMD version are
currently 1.3 , 1.4 , 1.5 ,
1.6 , 1.7 , 1.8 ,
9 , 10 , 11 , 12 ,
13 , 14 , 15 , 16 ,
17 , 18 , and 19 .
You can override the default PMD version by specifying PMD as a dependency, see Upgrading PMD at Runtime. Note: this parameter is only used if the language
parameter is set to Default value is: ${maven.compiler.source} .User property is: targetJdk . |
<testSourceRoots> |
List |
3.7 |
The directories containing the test-sources to be used for PMD.
Defaults to project.testCompileSourceRoots Default value is: ${project.testCompileSourceRoots} . |
<typeResolution> |
boolean |
3.0 |
Controls whether the project's compile/test classpath should be
passed to PMD to enable its type resolution feature. Default value is: true .User property is: pmd.typeResolution . |
<xrefLocation> |
File |
3.15.0 |
Location of the Xrefs to link to. Default value is: ${project.reporting.outputDirectory}/xref . |
<xrefTestLocation> |
File |
3.15.0 |
Location of the Test Xrefs to link to. Default value is: ${project.reporting.outputDirectory}/xref-test . |
Parameter Details
<aggregate>
pmd:aggregate-pmd
and
pmd:aggregate-cpd
instead.- Type:
boolean
- Since:
2.2
- Required:
No
- User Property:
aggregate
- Default:
false
<analysisCache>
- Type:
boolean
- Since:
3.8
- Required:
No
- User Property:
pmd.analysisCache
- Default:
false
<analysisCacheLocation>
- Type:
java.lang.String
- Since:
3.8
- Required:
No
- User Property:
pmd.analysisCacheLocation
- Default:
${project.build.directory}/pmd/pmd.cache
<benchmark>
- Type:
boolean
- Since:
3.1
- Required:
No
- User Property:
pmd.benchmark
- Default:
false
<benchmarkOutputFilename>
- Type:
java.lang.String
- Since:
3.1
- Required:
No
- User Property:
pmd.benchmarkOutputFilename
- Default:
${project.build.directory}/pmd-benchmark.txt
<compileSourceRoots>
project.compileSourceRoots
.- Type:
java.util.List
- Since:
3.7
- Required:
No
- Default:
${project.compileSourceRoots}
<excludeFromFailureFile>
- Type:
java.lang.String
- Since:
3.7
- Required:
No
- User Property:
pmd.excludeFromFailureFile
<excludeRoots>
- Type:
java.io.File[]
- Since:
2.2
- Required:
No
<excludes>
excludeRoots
instead.- Type:
java.util.List
- Since:
2.2
- Required:
No
<format>
- Type:
java.lang.String
- Since:
3.15.0
- Required:
No
- User Property:
format
- Default:
xml
<includeTests>
- Type:
boolean
- Since:
2.2
- Required:
No
- Default:
false
<includeXmlInSite>
- Type:
boolean
- Since:
3.0
- Required:
No
- Default:
false
<includes>
- Type:
java.util.List
- Since:
2.2
- Required:
No
<jdkToolchain>
Allow for configuration of the jvm used to run PMD via maven toolchains. This permits a configuration where the project is built with one jvm and PMD is executed with another. This overrules the toolchain selected by the maven-toolchain-plugin.
Examples:
(see Guide to Toolchains for more info)
<configuration>
...
<jdkToolchain>
<version>1.11</version>
</jdkToolchain>
</configuration>
<configuration>
...
<jdkToolchain>
<version>1.8</version>
<vendor>zulu</vendor>
</jdkToolchain>
</configuration>
- Type:
java.util.Map
- Since:
3.14.0
- Required:
No
<language>
java
, javascript
and
jsp
.- Type:
java.lang.String
- Since:
3.0
- Required:
No
- Default:
java
<linkXRef>
- Type:
boolean
- Since:
3.15.0
- Required:
No
- User Property:
linkXRef
- Default:
true
<minimumPriority>
- Type:
int
- Since:
2.1
- Required:
No
- User Property:
minimumPriority
- Default:
5
<renderProcessingErrors>
- Type:
boolean
- Since:
3.9.0
- Required:
No
- User Property:
pmd.renderProcessingErrors
- Default:
true
<renderRuleViolationPriority>
- Type:
boolean
- Since:
3.10.0
- Required:
No
- User Property:
pmd.renderRuleViolationPriority
- Default:
true
<renderSuppressedViolations>
- Type:
boolean
- Since:
3.17.0
- Required:
No
- User Property:
pmd.renderSuppressedViolations
- Default:
true
<renderViolationsByPriority>
- Type:
boolean
- Since:
3.12.0
- Required:
No
- User Property:
pmd.renderViolationsByPriority
- Default:
true
<rulesets>
/rulesets/java/maven-pmd-plugin-default.xml
).- Type:
java.lang.String[]
- Since:
3.15.0
- Required:
No
<rulesetsTargetDirectory>
Note: Before 3.13.0, this was by default ${project.build.directory}.
- Type:
java.io.File
- Since:
3.13.0
- Required:
No
- User Property:
pmd.rulesetsTargetDirectory
- Default:
${project.build.directory}/pmd/rulesets
<showPmdLog>
-X
or --debug
), the
PMD logger is also configured for debug.- Type:
boolean
- Since:
3.9.0
- Required:
No
- User Property:
pmd.showPmdLog
- Default:
true
<skip>
- Type:
boolean
- Since:
2.1
- Required:
No
- User Property:
pmd.skip
- Default:
false
<skipEmptyReport>
false
.
Note: the default value was changed from true
to
false
with version 3.13.0.
- Type:
boolean
- Since:
3.1
- Required:
No
- Default:
false
<skipPmdError>
- Type:
boolean
- Since:
3.1
- Required:
No
- User Property:
pmd.skipPmdError
- Default:
true
<suppressMarker>
NOPMD
. See also PMD
- Suppressing warnings.- Type:
java.lang.String
- Since:
3.4
- Required:
No
- User Property:
pmd.suppressMarker
<targetDirectory>
- Type:
java.io.File
- Since:
3.15.0
- Required:
Yes
- User Property:
project.build.directory
<targetJdk>
1.3
, 1.4
, 1.5
,
1.6
, 1.7
, 1.8
,
9
, 10
, 11
, 12
,
13
, 14
, 15
, 16
,
17
, 18
, and 19
.
You can override the default PMD version by specifying PMD as a dependency, see Upgrading PMD at Runtime.
Note: this parameter is only used if the language
parameter is set to java
.
- Type:
java.lang.String
- Since:
3.15.0
- Required:
No
- User Property:
targetJdk
- Default:
${maven.compiler.source}
<testSourceRoots>
project.testCompileSourceRoots
- Type:
java.util.List
- Since:
3.7
- Required:
No
- Default:
${project.testCompileSourceRoots}
<typeResolution>
- Type:
boolean
- Since:
3.0
- Required:
No
- User Property:
pmd.typeResolution
- Default:
true
<xrefLocation>
- Type:
java.io.File
- Since:
3.15.0
- Required:
No
- Default:
${project.reporting.outputDirectory}/xref
<xrefTestLocation>
- Type:
java.io.File
- Since:
3.15.0
- Required:
No
- Default:
${project.reporting.outputDirectory}/xref-test