Fork me on GitHub

releaser:release

Full name:

com.github.danielflower.mavenplugins:multi-module-maven-release-plugin:3.7.8:release

Description:

Releases the project.

Attributes:

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

Optional Parameters

Name Type Since Description
<arguments> String -

Additional arguments to pass to Maven during a release.

To pass multiple system properties from the command line, use -Darguments="-Dprop.1=prop1value -Dprop.2=prop2value"

To configure arguments in your pom, in the <configuration> node add: <arguments>'-Dprop.1=prop 1 value' -Dprop.2=prop2value</arguments>


User Property: arguments
<buildNumber> Long -

The build number to use in the release version. Given a snapshot version of "1.0-SNAPSHOT" and a buildNumber value of "2", the actual released version will be "1.0.2".

By default, the plugin will automatically find a suitable build number. It will start at version 0 and increment this with each release.

This can be specified using a command line parameter ("-DbuildNumber=2") or in this plugin's configuration.


User Property: buildNumber
<disableSshAgent> boolean - No description.
User Property: disableSshAgent
<globalSettings> File -
Deprecated.
In versions prior to 2.1, if the plugin was run with custom global settings the settings were ignored during the release phase. Now that custom settings are inherited, setting this value is no longer needed. Please use the '-gs' command line parameter to set custom global settings.

Specifies a custom, global Maven settings file to be used during the release build.
Alias: globalSettings
<goals> List<String> -

The goals to run against the project during a release. By default this is "deploy" which means the release version of your artifact will be tested and deployed.

You can specify more goals and maven options. For example if you want to perform a clean, build a maven site, and then deploys it, use:

<releaseGoals>
    <releaseGoal>clean</releaseGoal>
    <releaseGoal>site</releaseGoal>
    <releaseGoal>deploy</releaseGoal>
</releaseGoals>


Alias: releaseGoals
<ignoredUntrackedPaths> Set<String> -

Specifies paths to ignore when checking for untracked files before releasing.

By default, any untracked files in the git repo will prevent the release from starting. For cases when it is not possible to ignore these using a .gitignore file, this setting can be used to ignore specific paths during a release.


User Property: ignoredUntrackedPaths
Alias: ignoredUntrackedPaths
<knownHosts> String - If set, this file will be used to specify the known_hosts. This will override any default value.
User Property: knownHosts
<modulesToForceRelease> List<String> - A module to force release on, even if no changes has been detected.
User Property: forceRelease
Alias: forceRelease
<modulesToRelease> List<String> - The modules to release, or no value to to release the project from the root pom, which is the default. The selected module plus any other modules it needs will be built and released also. When run from the command line, this can be a comma-separated list of module names.
User Property: modulesToRelease
Alias: modulesToRelease
<noChangesAction> NoChangesAction - Determines the action to take when no module changes are detected. Possible values: ReleaseAll, ReleaseNone, FailBuild
Default: ReleaseAll
User Property: noChangesAction
Alias: noChangesAction
<passphrase> String -

Specifies the passphrase to be used with the identityFile specified for SSH where the private key requires a pass phrase.

To avoid specifying a passphrase in your pom, you could instead specify a server in your maven settings file and then set the serverId property.


User Property: passphrase
<privateKey> String - Specifies the private key to be used for SSH URLs. By default it will use ~/.ssh/id_rsa
User Property: privateKey
<pullTags> boolean - Fetch tags from remote repository to determine the next build number. If false, then tags from the local repository will be used instead. Make sure they are up to date to avoid problems.
Default: true
User Property: pull
Alias: pullTags
<pushTags> boolean - Push tags to remote repository as they are created.
Default: true
User Property: push
Alias: pushTags
<releaseProfiles> List<String> 1.0.1

Profiles to activate during the release.

Note that if any profiles are activated during the build using the `-P` or `--activate-profiles` will also be activated during release. This gives two options for running releases: either configure it in the plugin configuration, or activate profiles from the command line.


Alias: releaseProfiles
<serverId> String -

If set, the identityFile and passphrase will be read from the Maven settings file.

See https://maven.apache.org/guides/mini/guide-deployment-security-settings.html for more information on configuring servers in Maven.


User Property: serverId
<skipTests> boolean - If true then tests will not be run during a release. This is the same as adding -DskipTests=true to the release goals.
Default: false
User Property: skipTests
Alias: skipTests
<userSettings> File -
Deprecated.
In versions prior to 2.1, if the plugin was run with custom user settings the settings were ignored during the release phase. Now that custom settings are inherited, setting this value is no longer needed. Please use the '-s' command line parameter to set custom user settings.

Specifies a custom, user specific Maven settings file to be used during the release build.
Alias: userSettings
<versionNamer> VersionNamer -

Configures the version naming.


User Property: versionNamer
<versionReports> List<VersionReport> -

Reports to generate with updated versions.

You can specify list of VersionReport

 <versionReports>
     <versionReport>
         <versionsReportFilePath>released-report.txt</versionsReportFilePath>
         <versionsReportFormat>FLAT</versionsReportFormat>
         <releasedModulesOnly>true</releasedModulesOnly>
     </versionReport>
     <versionReport>
         <versionsReportFilePath>version-report.json</versionsReportFilePath>
         <versionsReportFormat>JSON</versionsReportFormat>
         <releasedModulesOnly>false</releasedModulesOnly>
     </versionReport>
 </versionReports>

See also: VersionReport
Alias: versionReports

Parameter Details

<arguments>

Additional arguments to pass to Maven during a release.

To pass multiple system properties from the command line, use -Darguments="-Dprop.1=prop1value -Dprop.2=prop2value"

To configure arguments in your pom, in the <configuration> node add: <arguments>'-Dprop.1=prop 1 value' -Dprop.2=prop2value</arguments>

  • Type: java.lang.String
  • Required: No
  • User Property: arguments

<buildNumber>

The build number to use in the release version. Given a snapshot version of "1.0-SNAPSHOT" and a buildNumber value of "2", the actual released version will be "1.0.2".

By default, the plugin will automatically find a suitable build number. It will start at version 0 and increment this with each release.

This can be specified using a command line parameter ("-DbuildNumber=2") or in this plugin's configuration.

  • Type: java.lang.Long
  • Required: No
  • User Property: buildNumber

<disableSshAgent>

No description.
  • Type: boolean
  • Required: No
  • User Property: disableSshAgent

<globalSettings>

Deprecated.
In versions prior to 2.1, if the plugin was run with custom global settings the settings were ignored during the release phase. Now that custom settings are inherited, setting this value is no longer needed. Please use the '-gs' command line parameter to set custom global settings.

Specifies a custom, global Maven settings file to be used during the release build.
  • Type: java.io.File
  • Required: No
  • Alias: globalSettings

<goals>

The goals to run against the project during a release. By default this is "deploy" which means the release version of your artifact will be tested and deployed.

You can specify more goals and maven options. For example if you want to perform a clean, build a maven site, and then deploys it, use:

<releaseGoals>
    <releaseGoal>clean</releaseGoal>
    <releaseGoal>site</releaseGoal>
    <releaseGoal>deploy</releaseGoal>
</releaseGoals>

  • Type: java.util.List<java.lang.String>
  • Required: No
  • Alias: releaseGoals

<ignoredUntrackedPaths>

Specifies paths to ignore when checking for untracked files before releasing.

By default, any untracked files in the git repo will prevent the release from starting. For cases when it is not possible to ignore these using a .gitignore file, this setting can be used to ignore specific paths during a release.

  • Type: java.util.Set<java.lang.String>
  • Required: No
  • User Property: ignoredUntrackedPaths
  • Alias: ignoredUntrackedPaths

<knownHosts>

If set, this file will be used to specify the known_hosts. This will override any default value.
  • Type: java.lang.String
  • Required: No
  • User Property: knownHosts

<modulesToForceRelease>

A module to force release on, even if no changes has been detected.
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: forceRelease
  • Alias: forceRelease

<modulesToRelease>

The modules to release, or no value to to release the project from the root pom, which is the default. The selected module plus any other modules it needs will be built and released also. When run from the command line, this can be a comma-separated list of module names.
  • Type: java.util.List<java.lang.String>
  • Required: No
  • User Property: modulesToRelease
  • Alias: modulesToRelease

<noChangesAction>

Determines the action to take when no module changes are detected. Possible values: ReleaseAll, ReleaseNone, FailBuild
  • Type: com.github.danielflower.mavenplugins.release.NoChangesAction
  • Required: No
  • User Property: noChangesAction
  • Default: ReleaseAll
  • Alias: noChangesAction

<passphrase>

Specifies the passphrase to be used with the identityFile specified for SSH where the private key requires a pass phrase.

To avoid specifying a passphrase in your pom, you could instead specify a server in your maven settings file and then set the serverId property.

  • Type: java.lang.String
  • Required: No
  • User Property: passphrase

<privateKey>

Specifies the private key to be used for SSH URLs. By default it will use ~/.ssh/id_rsa
  • Type: java.lang.String
  • Required: No
  • User Property: privateKey

<pullTags>

Fetch tags from remote repository to determine the next build number. If false, then tags from the local repository will be used instead. Make sure they are up to date to avoid problems.
  • Type: boolean
  • Required: No
  • User Property: pull
  • Default: true
  • Alias: pullTags

<pushTags>

Push tags to remote repository as they are created.
  • Type: boolean
  • Required: No
  • User Property: push
  • Default: true
  • Alias: pushTags

<releaseProfiles>

Profiles to activate during the release.

Note that if any profiles are activated during the build using the `-P` or `--activate-profiles` will also be activated during release. This gives two options for running releases: either configure it in the plugin configuration, or activate profiles from the command line.

  • Type: java.util.List<java.lang.String>
  • Since: 1.0.1
  • Required: No
  • Alias: releaseProfiles

<serverId>

If set, the identityFile and passphrase will be read from the Maven settings file.

See https://maven.apache.org/guides/mini/guide-deployment-security-settings.html for more information on configuring servers in Maven.

  • Type: java.lang.String
  • Required: No
  • User Property: serverId

<skipTests>

If true then tests will not be run during a release. This is the same as adding -DskipTests=true to the release goals.
  • Type: boolean
  • Required: No
  • User Property: skipTests
  • Default: false
  • Alias: skipTests

<userSettings>

Deprecated.
In versions prior to 2.1, if the plugin was run with custom user settings the settings were ignored during the release phase. Now that custom settings are inherited, setting this value is no longer needed. Please use the '-s' command line parameter to set custom user settings.

Specifies a custom, user specific Maven settings file to be used during the release build.
  • Type: java.io.File
  • Required: No
  • Alias: userSettings

<versionNamer>

Configures the version naming.

  • Type: com.github.danielflower.mavenplugins.release.VersionNamer
  • Required: No
  • User Property: versionNamer

<versionReports>

Reports to generate with updated versions.

You can specify list of VersionReport

 <versionReports>
     <versionReport>
         <versionsReportFilePath>released-report.txt</versionsReportFilePath>
         <versionsReportFormat>FLAT</versionsReportFormat>
         <releasedModulesOnly>true</releasedModulesOnly>
     </versionReport>
     <versionReport>
         <versionsReportFilePath>version-report.json</versionsReportFilePath>
         <versionsReportFormat>JSON</versionsReportFormat>
         <releasedModulesOnly>false</releasedModulesOnly>
     </versionReport>
 </versionReports>

See also: VersionReport
  • Type: java.util.List<com.github.danielflower.mavenplugins.release.VersionReport>
  • Required: No
  • Alias: versionReports