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 outputTimestampeffective 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, preferskipModules.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:ssXXXor 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: idorurlorid::url
 See also: repository definition Default: centralUser Property: reference.repo | 
| <reproducible> | boolean | 3.1.0 | Makes the generated .buildinfofile 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, seeignore.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


