tycho-versions:set-version

Full name:

org.eclipse.tycho:tycho-versions-plugin:4.0.1:set-version

Description:

Sets the version of the current project and child projects with the same version, and updates references as necessary.

The set-version goal implements a version refactoring for a Tycho reactor: When updating the version of a project, it consistently updates the version strings in the project's configuration files (e.g. pom.xml and META-INF/MANIFEST.MF) and all references to that project (e.g. in a feature.xml).

In many cases, the set-version goal changes the version of multiple projects or entities at once. In addition to the current project, child projects with the same version are also changed. The set of version changes is determined according to the following rules:

  • When the parent project of a project is changed and the project has the same version as the parent project, the project is also changed.
  • When an eclipse-plugin project is changed and the plugin exports a package with a version which is the same as the unqualified project version, the version of the package is also changed.
  • Require-Bundle and Fragment-Host Version Range in references to an eclipse-plugin that changed version will be updated:
    • if the newVersion becomes out of the original VersionRange
    • or if updateVersionRangeMatchingBounds is true and one of the bounds is matching the original version
  • When an eclipse-repository project is changed and a product file in the project has an equivalent version, the version in the product file is also changed.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator goal.
  • The goal is not marked as thread-safe and thus does not support parallel builds.

Required Parameters

Name Type Since Description
<newVersion> String -

The new version to set to the current project and other entities which have the same version as the current project.


User property is: newVersion.
Alias is: developmentVersion.

Optional Parameters

Name Type Since Description
<artifacts> String -

Initial list of of projects to be changed. From these projects, the full list of projects to be changed is derived according to the rules described above. If set, this parameter needs to be specified as a comma separated list of artifactIds.


Default value is: ${project.artifactId}.
User property is: artifacts.
<modules> String - List of additional modules (relative to the basedir) to considering even if not listed in the pom, this can be used to update related projects that are not included as modules in the root.
User property is: modules.
<properties> String 0.18.0

Comma separated list of names of POM properties to set the new version to. Note that properties are only changed in the projects explicitly listed by the artifacts parameter.


User property is: properties.
<updateVersionRangeMatchingBounds> boolean -

When true bounds of OSGI version ranges referencing the version of an element that changed version will be updated to match the newVersion.


Default value is: false.
User property is: updateVersionRangeMatchingBounds.

Parameter Details

<artifacts>

Initial list of of projects to be changed. From these projects, the full list of projects to be changed is derived according to the rules described above. If set, this parameter needs to be specified as a comma separated list of artifactIds.

  • Type: java.lang.String
  • Required: No
  • User Property: artifacts
  • Default: ${project.artifactId}

<modules>

List of additional modules (relative to the basedir) to considering even if not listed in the pom, this can be used to update related projects that are not included as modules in the root.
  • Type: java.lang.String
  • Required: No
  • User Property: modules

<newVersion>

The new version to set to the current project and other entities which have the same version as the current project.

  • Type: java.lang.String
  • Required: Yes
  • User Property: newVersion
  • Alias: developmentVersion

<properties>

Comma separated list of names of POM properties to set the new version to. Note that properties are only changed in the projects explicitly listed by the artifacts parameter.

  • Type: java.lang.String
  • Since: 0.18.0
  • Required: No
  • User Property: properties

<updateVersionRangeMatchingBounds>

When true bounds of OSGI version ranges referencing the version of an element that changed version will be updated to match the newVersion.

  • Type: boolean
  • Required: No
  • User Property: updateVersionRangeMatchingBounds
  • Default: false