Apache Commons logo

commons-release:stage-distributions

Full name:

org.apache.commons:commons-release-plugin:1.8.1:stage-distributions

Description:

This class checks out the dev distribution location, copies the distributions into that directory structure under the target/commons-release-plugin/scm directory. Then commits the distributions back up to SVN. Also, we include the built and zipped site as well as the RELEASE-NOTES.txt.

Attributes:

  • Requires a Maven project to be executed.
  • Executes as an aggregator goal.
  • The goal is thread-safe and supports parallel builds.
  • Since version: 1.0.
  • Binds by default to the lifecycle phase: deploy.

Required Parameters

Name Type Since Description
<project> MavenProject - The org.apache.maven.project.MavenProject object is essentially the context of the maven build at a given time.
Default value is: ${project}.

Optional Parameters

Name Type Since Description
<baseDir> File - The java.io.File that contains a file to the root directory of the working project. Typically this directory is where the pom.xml resides.
Default value is: ${basedir}.
<commonsRcVersion> String - The RC version of the release. For example the first voted on candidate would be "RC1".
User property is: commons.rc.version.
<commonsReleaseVersion> String - The release version of the artifact to be built.
User property is: commons.release.version.
<distCheckoutDirectory> File - The location to which to check out the dist subversion repository under our working directory, which was given above.
Default value is: ${project.build.directory}/commons-release-plugin/scm.
User property is: commons.distCheckoutDirectory.
<distServer> String - The ID of the server (specified in settings.xml) which should be used for dist authentication. This will be used in preference to username/password.
User property is: commons.distServer.
<distSvnStagingUrl> String - The url of the subversion repository to which we wish the artifacts to be staged. Typically this would need to be of the form: scm:svn:https://dist.apache.org/repos/dist/dev/commons/foo/version-RC#. Note. that the prefix to the substring https is a requirement.
User property is: commons.distSvnStagingUrl.
<dryRun> Boolean - A boolean that determines whether or not we actually commit the files up to the subversion repository. If this is set to true, we do all but make the commits. We do checkout the repository in question though.
Default value is: false.
User property is: commons.release.dryRun.
<isDistModule> Boolean - A parameter to generally avoid running unless it is specifically turned on by the consuming module.
Default value is: false.
User property is: commons.release.isDistModule.
<password> String - The password associated with username.
User property is: user.password.
<releaseNotesFile> File - The location of the RELEASE-NOTES.txt file such that multi-module builds can configure it.
Default value is: ${basedir}/RELEASE-NOTES.txt.
User property is: commons.releaseNotesLocation.
<siteDirectory> File - The location to which the site gets built during running mvn site.
Default value is: ${project.build.directory}/site.
User property is: commons.siteOutputDirectory.
<username> String - The username for the distribution subversion repository. This is typically your Apache id.
User property is: user.name.
<workingDirectory> File - The main working directory for the plugin, namely target/commons-release-plugin, but that assumes that we're using the default maven ${project.build.directory}.
Default value is: ${project.build.directory}/commons-release-plugin.
User property is: commons.outputDirectory.

Parameter Details

<baseDir>

The java.io.File that contains a file to the root directory of the working project. Typically this directory is where the pom.xml resides.
  • Type: java.io.File
  • Required: No
  • Default: ${basedir}

<commonsRcVersion>

The RC version of the release. For example the first voted on candidate would be "RC1".
  • Type: java.lang.String
  • Required: No
  • User Property: commons.rc.version

<commonsReleaseVersion>

The release version of the artifact to be built.
  • Type: java.lang.String
  • Required: No
  • User Property: commons.release.version

<distCheckoutDirectory>

The location to which to check out the dist subversion repository under our working directory, which was given above.
  • Type: java.io.File
  • Required: No
  • User Property: commons.distCheckoutDirectory
  • Default: ${project.build.directory}/commons-release-plugin/scm

<distServer>

The ID of the server (specified in settings.xml) which should be used for dist authentication. This will be used in preference to username/password.
  • Type: java.lang.String
  • Required: No
  • User Property: commons.distServer

<distSvnStagingUrl>

The url of the subversion repository to which we wish the artifacts to be staged. Typically this would need to be of the form: scm:svn:https://dist.apache.org/repos/dist/dev/commons/foo/version-RC#. Note. that the prefix to the substring https is a requirement.
  • Type: java.lang.String
  • Required: No
  • User Property: commons.distSvnStagingUrl

<dryRun>

A boolean that determines whether or not we actually commit the files up to the subversion repository. If this is set to true, we do all but make the commits. We do checkout the repository in question though.
  • Type: java.lang.Boolean
  • Required: No
  • User Property: commons.release.dryRun
  • Default: false

<isDistModule>

A parameter to generally avoid running unless it is specifically turned on by the consuming module.
  • Type: java.lang.Boolean
  • Required: No
  • User Property: commons.release.isDistModule
  • Default: false

<password>

The password associated with username.
  • Type: java.lang.String
  • Required: No
  • User Property: user.password

<project>

The org.apache.maven.project.MavenProject object is essentially the context of the maven build at a given time.
  • Type: org.apache.maven.project.MavenProject
  • Required: Yes
  • Default: ${project}

<releaseNotesFile>

The location of the RELEASE-NOTES.txt file such that multi-module builds can configure it.
  • Type: java.io.File
  • Required: No
  • User Property: commons.releaseNotesLocation
  • Default: ${basedir}/RELEASE-NOTES.txt

<siteDirectory>

The location to which the site gets built during running mvn site.
  • Type: java.io.File
  • Required: No
  • User Property: commons.siteOutputDirectory
  • Default: ${project.build.directory}/site

<username>

The username for the distribution subversion repository. This is typically your Apache id.
  • Type: java.lang.String
  • Required: No
  • User Property: user.name

<workingDirectory>

The main working directory for the plugin, namely target/commons-release-plugin, but that assumes that we're using the default maven ${project.build.directory}.
  • Type: java.io.File
  • Required: No
  • User Property: commons.outputDirectory
  • Default: ${project.build.directory}/commons-release-plugin