artifact:compare

Full name:

org.apache.maven.plugins:maven-artifact-plugin:3.5.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 thread-safe and supports 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: false
User Property: compare.aggregate.only
<detectSkip> boolean - Detect projects/modules with install or deploy skipped: avoid taking fingerprints.
Default: true
User Property: buildinfo.detect.skip
<fail> boolean 3.5.0 Fail the build if differences are found against reference build.
Default: true
User Property: compare.fail
<ignore> List<String> - Artifacts to ignore, specified as a glob matching against ${groupId}/${filename}, for example */*.xml.
User Property: buildinfo.ignore
<ignoreJavadoc> boolean - Ignore javadoc attached artifacts from buildinfo generation.
Default: true
User 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
id
The repository id
url
The url of the repository

See also: repository definition
Default: central
User 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: false
User Property: buildinfo.reproducible
<skipModules> List<String> 3.5.0 Avoid taking fingerprints for modules specified as glob matching against ${groupId}/${artifactId}.
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: report.plugin.goal.no
  • User Property: compare.aggregate.only
  • Default: false

<detectSkip>

Detect projects/modules with install or deploy skipped: avoid taking fingerprints.
  • Type: boolean
  • Required: report.plugin.goal.no
  • User Property: buildinfo.detect.skip
  • Default: true

<fail>

Fail the build if differences are found against reference build.
  • Type: boolean
  • Since: 3.5.0
  • Required: report.plugin.goal.no
  • User Property: compare.fail
  • Default: true

<ignore>

Artifacts to ignore, specified as a glob matching against ${groupId}/${filename}, for example */*.xml.
  • Type: java.util.List<java.lang.String>
  • Required: report.plugin.goal.no
  • User Property: buildinfo.ignore

<ignoreJavadoc>

Ignore javadoc attached artifacts from buildinfo generation.
  • Type: boolean
  • Required: report.plugin.goal.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: report.plugin.goal.no
  • Default: ${project.build.outputTimestamp}

<referenceRepo>

Repository for reference build, containing either reference buildinfo file or reference artifacts.
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: report.plugin.goal.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: report.plugin.goal.no
  • User Property: buildinfo.reproducible
  • Default: false

<skipModules>

Avoid taking fingerprints for modules specified as glob matching against ${groupId}/${artifactId}.
  • Type: java.util.List<java.lang.String>
  • Since: 3.5.0
  • Required: report.plugin.goal.no
  • User Property: buildinfo.skipModules