Special instructions for releasing the Server (used on Geronimo 2.2)

-by David Jencks

New Nexus Release Guidelines

Follow the new Apache Release process for Nexus, which all projects must use moving forward. These steps apply to a given project if:

  1. It uses Genesis 2.x as a parent POM
  2. It uses the following for the Snapshot and Release repos in distributionManagement -

For additional details on the Nexus repo changes, take a look at the doc links in the following JIRA, until we have a new process documented -
INFRA-1896

Special instructions for releasing the Server (used on Geronimo 2.2)

Overview

Run the normal release plugin steps, but with the following additional profiles:

mvn release:prepare -Pall-subprojects -Papache-release -Dtest=false
mvn release:perform -Pall-subprojects -Papache-release -Dtest=false

Preparation and discussion

We have a lot of server bits that don't normally get run in a build and shouldn't be released. These are typically integration tests or test servers for plugins. All these projects have to be built during the release so the versions get updated properly. Since mistakes here won't cause build problems except during releases, you have to check carefully that all projects are built in the all-subprojects profile. Note that integration tests are often run from non-pom packaging projects so you have to add such projects as modules to the closest parent project that is pom packaging.

When I tried it the versions plugin did not successfully update all the child projects in testsuite, I had to actually run the release process to determine if all modules were getting their versions updated.

Many projects such as integration tests, test servers, and the testsuite should not get deployed. You can arrange this by including this configuration in the topmost pom that should not be deployed:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

in build/plugins.

  • No labels