Fork me on GitHub

releaser:release

Full name:

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

Description:

Releases the project.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator plugin.
  • 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 is: 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 is: buildNumber.
<disableSshAgent> boolean - (no description)
User property is: 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.
Alias is: globalSettings.
<goals> List -

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 is: releaseGoals.
<ignoredUntrackedPaths> Set -

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 is: ignoredUntrackedPaths.
Alias is: ignoredUntrackedPaths.
<knownHosts> String - If set, this file will be used to specify the known_hosts. This will override any default value.
User property is: knownHosts.
<modulesToForceRelease> List - A module to force release on, even if no changes has been detected.
User property is: forceRelease.
Alias is: forceRelease.
<modulesToRelease> List - 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 is: modulesToRelease.
Alias is: modulesToRelease.
<noChangesAction> NoChangesAction - Determines the action to take when no module changes are detected. Possible values: ReleaseAll, ReleaseNone, FailBuild
Default value is: ReleaseAll.
User property is: noChangesAction.
Alias is: 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 is: passphrase.
<privateKey> String - Specifies the private key to be used for SSH URLs. By default it will use ~/.ssh/id_rsa
User property is: 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 value is: true.
User property is: pull.
Alias is: pullTags.
<pushTags> boolean - Push tags to remote repository as they are created.
Default value is: true.
User property is: push.
Alias is: pushTags.
<releaseProfiles> List 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 is: 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 is: 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 value is: false.
User property is: skipTests.
Alias is: 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.
Alias is: userSettings.
<versionNamer> VersionNamer -

Configures the version naming.


User property is: versionNamer.
<versionReports> List -

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>


Alias is: 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
  • 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
  • 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
  • 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
  • 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
  • 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>

  • Type: java.util.List
  • Required: No
  • Alias: versionReports