The following are details related to OPS4J release process and is to be used by those OPS4J members that are able to release OPS4J artifacts, such as [Alin Dreghiciu], [Niclas Hedhman], [Stuart McCulloch], [Toni Menzel].
mvn -Prelease,<reposProfile> -Darguments="-Prelease,<reposProfile>" release:prepare
where {{reposProfile}} should be replaced with one of the profiles described [bellow|#reposProfile]. h1. Performing the release From a command line run the following:
mvn -Prelease,<reposProfile> -Darguments="-Prelease,<reposProfile>" release:perform
where {{reposProfile}} should be replaced with one of the profiles described [bellow|#reposProfile]. {anchor:reposProfile} h1. Repositories While releasing use one of the following profiles based on your needs: * {{repos.ops4j}} This will use OPS4J maven repositories. Use this profile when the version of artifacts you are releasing is < 1.0. * {{repos.sonatype}} This will use Sonatype OSS maven repositories: Use this profile when the version of artifacts you are releasing is >= 1.0 and you do not want/need to use staging. * {{repos.sonatype.staging}} This will use Sonatype OSS maven repositories: Use this profile when the version of artifacts you are releasing is >= 1.0 and you want/need to use staging. (!) To deploy to this repositories you must have the necessary credentials and rights. h1. Authentication While deploying the artifacts to the specified repositories Maven will use credentials specified in {{~/.m2/settings.xml}}. h2. Sonatype Nexus authentication To deploy to Sonatype repositories you will need an account for which you will get an name/password pair. Then edit {{settings.xml}} and add the following:
<settings>
<servers>
<server>
<id>sonatype.releases.deploy</id>
<username>your user</username>
<password>your password</password>
</server>
<server>
<id>sonatype.staging.releases.deploy</id>
<username>your user</username>
<password>your password</password>
</server>
</servers>
</settings>
h1. Signing key We are using GnuPG for signing the artifacts via [Maven gpg plugin|http://maven.apache.org/plugins/maven-gpg-plugin/]. h2. Generate the private/public key pair On *nix run the code bellow and follow the instructions:
gpg --gen-key
We suggest that:
- when gpg asks for e-mail linked to the key you should use the e-mail that you use on the mailing lists
- when gpg asks for comment linked to the key you should use "CODE SIGNING KEY"