Releasing OpenJPA has been edited by Marc Prud'hommeaux (Nov 08, 2006).

(View changes)

Content:

Making an OpenJPA Release

These instructions guide through the steps of making an official OpenJPA release.

Prerequisites

  1. You should have read the Apache Guide To Release Management During Incubation
  2. You must have shell access to people.apache.org
  3. You must have the following utilities installed on your local machine and available in your path:

Tasks that need to be performed for each release

In the examples below, it is assumed that the current committed version of OpenJPA is 0.9.6-incubating-SNAPSHOT, and the version of the official release will be 0.9.6-incubating
1 Make sure the One time setup steps have been performed
2 Update the POMs to remove "-SNAPSHOT" from the version. If you have perl installed, you can easily do it with a single command:
 
perl -pi -e 's;<version>0.9.6-incubating-SNAPSHOT</version>;<version>0.9.6-incubating</version>;g' pom.xml */pom.xml
3 Commit the POM changes
4 Tag the release by making a SVN copy of the head or designated revision
 
svn copy -r ###### 
  https://svn.apache.org/repos/asf/struts/struts2/trunk 
  https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_# 
  -m "Tag r###### as Struts #.#.#"
5 Assemble the release
 
mvn clean install site -P xwork,plugins,apps,all,pre-assembly
cd assembly 
mvn assembly:assembly
6 Sign the release artifacts (in assembly/target/assembly/out)
 
gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip 
openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.mdr
7 pscp the artifacts and signatures to people.apache.org:/www/builds/struts/#.#.#
8 Deploy the artifacts to our Maven repository
 
mvn deploy -P apps,plugins,pre-assembly
  Prune any obsolete snapshots from p.a.o://www/people.apache.org/repos
9 Update the POMs to next version number and add the "-SNAPSHOT" suffix. For example:
 
perl -pi -e 's;<version>0.9.6-incubating</version>;<version>0.9.7-incubating-SNAPSHOT</version>;g' pom.xml */pom.xml
10 Commit the POM changes
11 Deploy the new snapshot
 
mvn -N install
12 Add the next version to our issue tracker for scheduling new features and fixes


One time setup

These setup steps only need to be performed on a particular machine once.

Developers using Linux workstations can skip over the references to PuTTY and Cygwin

Create and install a SSH key

1 Install PuTTY
2 Use PuttyGen to create a SSH key (see Putty help for details)
3 Use PuTTY to ssh to people.apache.org
4 Create a ~/.ssh folder
5 pscp your SSH public key to ~/authorized_keys
6 ssh to p.a.o
7 Create a ~\.ssh folder and move authorized_keys there
8 Configure putty to use your private key and save the session

Create a PGP key

1 Install cgywin, including utils/gpg
2 Generate a key with $ gpg --gen-key
3 Backup your cygwin home directory to another media
4 Add your key to https://svn.apache.org/repos/asf/incubator/openjpa/site/docs/KEYS

Update Maven settings for our servers

1 Create a settings.xml under .m2 (in your Document and Settings folder in Windows)
 
<settings xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <servers>
       <server>
          <id>people.apache.org</id>
          <username>$USERNAME</username>
          <privateKey>$PATH_TO_PRIVATE_KEY</privateKey>
          <directoryPermissions>775</directoryPermissions>
          <filePermissions>644</filePermissions>
       </server>
    </servers>
</settings>

Expose a copy of known hosts to Maven

1 From cygwin, ssh to people.apache.org, save the public key if prompted, and exit
  cygwin will save the known hosts to your ~/.ssh folder, but the script cannot access it there (from Windows)
2 From cygwin (not Windows) create another .ssh folder at
3 Copy the known_hosts file to the new .ssh folder

Resources

Reply via email to