exists:remote

Full name:

org.honton.chas:exists-maven-plugin:0.13.0:remote

Description:

Set a property if the artifact in the remote repository is same as the just built artifact. The remote repository is usually defined in the pom's distributionManagement section. Using the defaults, executing this plugin will prevent the install plugin from reinstalling identical artifacts to the remote repository. This situation will often occur with a recurring schedule build job.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 0.0.2.
  • Binds by default to the lifecycle phase: verify.

Optional Parameters

Name Type Since Description
<artifact> String - The build artifact of the project to compare. Defaults to the project's principal artifact.
Default value is: ${project.build.finalName}.${project.packaging}.
User property is: exists.artifact.
<classifier> String - The classifier to use, e.g., 'tests'. Will be appended to the artifact name. Useful if there is no main artifact.
User property is: exists.classifier.
<cmpChecksum> boolean - Set whether checksum is used to compare artifacts.
Default value is: false.
User property is: exists.cmpChecksum.
<failIfExists> boolean 0.0.3 Fail the build if the artifact already exists in the repository.
Default value is: false.
User property is: exists.failIfExists.
<failIfNotExists> boolean 0.0.3 Fail the build if the artifact does not exist in the repository.
Default value is: false.
User property is: exists.failIfNotExists.
<failIfNotMatch> boolean 0.1.0 Fail the build if the artifact checksum does not match the current repository artifact.
Default value is: true.
User property is: exists.failIfNotMatch.
<lastSnapshotTime> String 0.7.0 The property to set with the timestamp of the last snapshot artifact available in the repository.
User property is: exists.lastSnapshotTime.
<project> String - The project Group:Artifact:[:Type]:Version to compare. Defaults to the current project's GATV.
Default value is: ${project.groupId}:${project.artifactId}:${project.packaging}:${project.version}.
User property is: exists.project.
<property> String - The property to set if the artifact exists in the deploy repository. The default property of maven.deploy.skip may cause the deploy plugin to skip execution.
Default value is: maven.deploy.skip.
User property is: exists.property.
<repository> String - The URL of the remote repository to check for distribution artifacts. The default value is the repository defined in the pom's distributionManagement / repository section.
Default value is: ${project.distributionManagement.repository.url}.
User property is: exists.repository.
<requireGoal> String 0.6.0 Execute goal only if requireGoal value matches one of the maven command line goals
User property is: exists.requireGoal.
<serverId> String 0.0.3 The server ID to use when checking for distribution artifacts. Settings like proxy, authentication or mirrors will be applied when this value is set.
Default value is: ${project.distributionManagement.repository.id}.
User property is: exists.serverId.
<skip> boolean 0.0.4 Skip executing this plugin
Default value is: false.
User property is: exists.skip.
<skipIfSnapshot> boolean - If checksums are not used, should this plugin skip checking SNAPSHOT versions?
Default value is: true.
User property is: exists.skipIfSnapshot.
<snapshotRepository> String - The URL of the remote repository to check for snapshot versioned artifacts. The default value is the snapshot repository defined in the pom's distributionManagement / snapshotRepository section.
Default value is: ${project.distributionManagement.snapshotRepository.url}.
User property is: exists.snapshotRepository.
<snapshotServerId> String 0.0.3 The server ID to use when checking for snapshot versioned artifacts. Settings like proxy, authentication or mirrors will be applied when this value is set.
Default value is: ${project.distributionManagement.snapshotRepository.id}.
User property is: exists.snapshotServerId.
<userProperty> boolean 0.0.3 Set the property as a user property instead of a project property. This will make the property available in the modules of a parent POM.
Default value is: false.
User property is: exists.userProperty.

Parameter Details

<artifact>

The build artifact of the project to compare. Defaults to the project's principal artifact.
  • Type: java.lang.String
  • Required: No
  • User Property: exists.artifact
  • Default: ${project.build.finalName}.${project.packaging}

<classifier>

The classifier to use, e.g., 'tests'. Will be appended to the artifact name. Useful if there is no main artifact.
  • Type: java.lang.String
  • Required: No
  • User Property: exists.classifier

<cmpChecksum>

Set whether checksum is used to compare artifacts.
  • Type: boolean
  • Required: No
  • User Property: exists.cmpChecksum
  • Default: false

<failIfExists>

Fail the build if the artifact already exists in the repository.
  • Type: boolean
  • Since: 0.0.3
  • Required: No
  • User Property: exists.failIfExists
  • Default: false

<failIfNotExists>

Fail the build if the artifact does not exist in the repository.
  • Type: boolean
  • Since: 0.0.3
  • Required: No
  • User Property: exists.failIfNotExists
  • Default: false

<failIfNotMatch>

Fail the build if the artifact checksum does not match the current repository artifact.
  • Type: boolean
  • Since: 0.1.0
  • Required: No
  • User Property: exists.failIfNotMatch
  • Default: true

<lastSnapshotTime>

The property to set with the timestamp of the last snapshot artifact available in the repository.
  • Type: java.lang.String
  • Since: 0.7.0
  • Required: No
  • User Property: exists.lastSnapshotTime

<project>

The project Group:Artifact:[:Type]:Version to compare. Defaults to the current project's GATV.
  • Type: java.lang.String
  • Required: No
  • User Property: exists.project
  • Default: ${project.groupId}:${project.artifactId}:${project.packaging}:${project.version}

<property>

The property to set if the artifact exists in the deploy repository. The default property of maven.deploy.skip may cause the deploy plugin to skip execution.
  • Type: java.lang.String
  • Required: No
  • User Property: exists.property
  • Default: maven.deploy.skip

<repository>

The URL of the remote repository to check for distribution artifacts. The default value is the repository defined in the pom's distributionManagement / repository section.
  • Type: java.lang.String
  • Required: No
  • User Property: exists.repository
  • Default: ${project.distributionManagement.repository.url}

<requireGoal>

Execute goal only if requireGoal value matches one of the maven command line goals
  • Type: java.lang.String
  • Since: 0.6.0
  • Required: No
  • User Property: exists.requireGoal

<serverId>

The server ID to use when checking for distribution artifacts. Settings like proxy, authentication or mirrors will be applied when this value is set.
  • Type: java.lang.String
  • Since: 0.0.3
  • Required: No
  • User Property: exists.serverId
  • Default: ${project.distributionManagement.repository.id}

<skip>

Skip executing this plugin
  • Type: boolean
  • Since: 0.0.4
  • Required: No
  • User Property: exists.skip
  • Default: false

<skipIfSnapshot>

If checksums are not used, should this plugin skip checking SNAPSHOT versions?
  • Type: boolean
  • Required: No
  • User Property: exists.skipIfSnapshot
  • Default: true

<snapshotRepository>

The URL of the remote repository to check for snapshot versioned artifacts. The default value is the snapshot repository defined in the pom's distributionManagement / snapshotRepository section.
  • Type: java.lang.String
  • Required: No
  • User Property: exists.snapshotRepository
  • Default: ${project.distributionManagement.snapshotRepository.url}

<snapshotServerId>

The server ID to use when checking for snapshot versioned artifacts. Settings like proxy, authentication or mirrors will be applied when this value is set.
  • Type: java.lang.String
  • Since: 0.0.3
  • Required: No
  • User Property: exists.snapshotServerId
  • Default: ${project.distributionManagement.snapshotRepository.id}

<userProperty>

Set the property as a user property instead of a project property. This will make the property available in the modules of a parent POM.
  • Type: boolean
  • Since: 0.0.3
  • Required: No
  • User Property: exists.userProperty
  • Default: false