artifact:compare
Full name:
org.apache.maven.plugins:maven-artifact-plugin:3.6.1:compare
Description:
Compare current build output (from package) against reference either previously install-ed or downloaded from a remote repository: comparison results go to .buildcompare file.
Attributes:
- Requires a Maven project to be executed.
 - The goal is not marked as thread-safe and thus does not support parallel builds.
 - Since version: 
3.2.0. 
Optional Parameters
| Name | Type | Since | Description | 
|---|---|---|---|
<aggregateOnly> | 
boolean | 
3.2.0 | 
Compare aggregate only (ie wait for the last module) or also compare on each module. Default: falseUser Property: compare.aggregate.only | 
<detectSkip> | 
boolean | 
- | 
Auto-detect projects/modules with install or deploy skipped: avoid taking fingerprints. If auto-detection gives unexpected results, prefer handwritten skipModules.Default: trueUser Property: buildinfo.detect.skip | 
<diagnose> | 
boolean | 
3.5.2 | 
Diagnose outputTimestamp effective value based on execution context.Default: falseUser Property: diagnose | 
<fail> | 
boolean | 
3.5.0 | 
Fail the build if differences are found against reference build. Default: trueUser Property: compare.fail | 
<ignore> | 
List<String> | 
- | 
Artifacts to ignore, specified as a glob matching against ${groupId}/${filename}, for example */*.xml. If all artifacts from a module are to be ignored, prefer skipModules.User Property: buildinfo.ignore | 
<ignoreJavadoc> | 
boolean | 
- | 
Ignore javadoc attached artifacts from buildinfo generation. Default: trueUser Property: buildinfo.ignoreJavadoc | 
<outputTimestamp> | 
String | 
3.2.0 | 
Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).Default: ${project.build.outputTimestamp} | 
<referenceRepo> | 
String | 
- | 
Repository for reference build, containing either reference buildinfo file or reference artifacts.
 Format: id or url or id::url
 See also: repository definition Default: centralUser Property: reference.repo | 
<reproducible> | 
boolean | 
3.1.0 | 
Makes the generated .buildinfo file reproducible, by dropping detailed environment recording: OS will be recorded as "Windows" or "Unix", JVM version as major version only.Default: falseUser Property: buildinfo.reproducible | 
<skipModules> | 
List<String> | 
3.5.0 | 
Avoid taking fingerprints for full modules, specified as glob matching against ${groupId}/${artifactId}. For ignoring only a few files instead of full modules, see ignore.User Property: buildinfo.skipModules | 
Parameter Details
<aggregateOnly>
Compare aggregate only (ie wait for the last module) or also compare on each module.
- Type: 
boolean - Since: 
3.2.0 - Required: 
No - User Property: 
compare.aggregate.only - Default: 
false 
<detectSkip>
Auto-detect projects/modules with install or deploy skipped: avoid taking fingerprints. If auto-detection gives unexpected results, prefer handwritten 
skipModules.- Type: 
boolean - Required: 
No - User Property: 
buildinfo.detect.skip - Default: 
true 
<diagnose>
Diagnose 
outputTimestamp effective value based on execution context.- Type: 
boolean - Since: 
3.5.2 - Required: 
No - User Property: 
diagnose - Default: 
false 
<fail>
Fail the build if differences are found against reference build.
- Type: 
boolean - Since: 
3.5.0 - Required: 
No - User Property: 
compare.fail - Default: 
true 
<ignore>
Artifacts to ignore, specified as a glob matching against 
${groupId}/${filename}, for example */*.xml. If all artifacts from a module are to be ignored, prefer skipModules.- Type: 
java.util.List<java.lang.String> - Required: 
No - User Property: 
buildinfo.ignore 
<ignoreJavadoc>
Ignore javadoc attached artifacts from buildinfo generation.
- Type: 
boolean - Required: 
No - User Property: 
buildinfo.ignoreJavadoc - Default: 
true 
<outputTimestamp>
Timestamp for reproducible output archive entries, either formatted as ISO 8601 
yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).- Type: 
java.lang.String - Since: 
3.2.0 - Required: 
No - Default: 
${project.build.outputTimestamp} 
<referenceRepo>
Repository for reference build, containing either reference buildinfo file or reference artifacts.
Format:
See also: repository definition
Format:
id or url or id::url
- id
 - The repository id
 - url
 - The url of the repository
 
See also: repository definition
- Type: 
java.lang.String - Required: 
No - User Property: 
reference.repo - Default: 
central 
<reproducible>
Makes the generated 
.buildinfo file reproducible, by dropping detailed environment recording: OS will be recorded as "Windows" or "Unix", JVM version as major version only.- Type: 
boolean - Since: 
3.1.0 - Required: 
No - User Property: 
buildinfo.reproducible - Default: 
false 
<skipModules>
Avoid taking fingerprints for full modules, specified as glob matching against 
${groupId}/${artifactId}. For ignoring only a few files instead of full modules, see ignore.- Type: 
java.util.List<java.lang.String> - Since: 
3.5.0 - Required: 
No - User Property: 
buildinfo.skipModules 


