How to cut a new Apache Empire-db (incubator) release.
This document explains how to cut a new empire-db release. Since we normally do this in Linux I expect you to have a Linux enironment at hand. For windows users Cygwin might be a solution. This document is based on the Maven release documentation.
Before you get started
Setup
Make sure your system is set up correctly and that you have the needed credentials
- you have all Maven servers defined in your settings.xml. For more information, please refer to Committer settings. This is what mine looks like:
<?xml version="1.0"?> <settings> <servers> <!-- To publish a snapshot of some part of Maven --> <server> <id>apache.snapshots.https</id> <username>francisdb</username> <password>xxx</password> </server> <!-- To publish a website of some part of Maven --> <server> <id>apache.website</id> <username>francisdb</username> <filePermissions>664</filePermissions> <directoryPermissions>775</directoryPermissions> </server> <!-- To stage a release of some part of Maven --> <server> <id>apache.releases.https</id> <username>francisdb</username> <password>xxx</password> </server> <!-- To stage a website of some part of Maven --> <server> <id>stagingSite</id> <!-- must match hard-coded repository identifier in site:stage-deploy --> <username>francisdb</username> <filePermissions>664</filePermissions> <directoryPermissions>775</directoryPermissions> </server> </servers> <profiles> <profile> <id>apache-release</id> <properties> <gpg.passphrase>xxx</gpg.passphrase> </properties> </profile> </profiles> </settings>
- you have created your GPG keys. For more information, please refer to Making GPG Keys.
- you have a GPG client installed and on your shell's path. See http://www.gnupg.org/.
- you have a Subversion 1.5+ client installed and on your shell's path. See http://subversion.tigris.org/.
- you have a Java 1.4.2 JDK installed and on your shell's path. See http://java.sun.com/j2se/1.4.2/download.html.
- you have set the environment variable MAVEN_OPTS=-Xmx512m
- you are using Maven 2.0.x or 2.2.1+, as Maven 2.1.x is known to produce wrong gpg pom signatures (see MGPG-14).
h3 Make sure maven uses Java 5
Create a mvn5 shell script and add it to your PATH. This script makes sure you use Java 5 to build the release.
/usr/bin/mvn5
#!/bin/sh JAVA_HOME="/usr/lib/jvm/java-1.5.0-sun" mvn $@
test the script by running this command:
$ mvn5 --version Apache Maven 2.2.1 (r801777; 2009-08-06 20:16:01+0100) Java version: *1.5.0_18* Java home: /usr/lib/jvm/java-1.5.0-sun-1.5.0.18/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux" version: "2.6.28-15-generic" arch: "amd64" Family: "unix"