Return-Path: Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: (qmail 78538 invoked from network); 28 Nov 2008 14:30:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Nov 2008 14:30:32 -0000 Received: (qmail 9873 invoked by uid 500); 28 Nov 2008 14:30:43 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 9844 invoked by uid 500); 28 Nov 2008 14:30:43 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 9832 invoked by uid 99); 28 Nov 2008 14:30:43 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Nov 2008 06:30:43 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 28 Nov 2008 14:29:15 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 1598B234C296 for ; Fri, 28 Nov 2008 06:30:00 -0800 (PST) Message-ID: <59682103.1227882600031.JavaMail.www-data@brutus> Date: Fri, 28 Nov 2008 06:30:00 -0800 (PST) From: confluence@apache.org To: commits@jackrabbit.apache.org Subject: [CONF] Apache Jackrabbit: Creating Releases (page edited) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Creating Releases (JCR) edited by Jukka Zitting Page: http://cwiki.apache.org/confluence/display/JCR/Creating+Releases Changes: http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=80946&originalVersion=6&revisedVersion=7 Comment: --------------------------------------------------------------------- Updated release instructions for 1.5+ Change summary: --------------------------------------------------------------------- Updated release instructions for 1.5+ Change summary: --------------------------------------------------------------------- Updated release instructions for 1.5+ Change summary: --------------------------------------------------------------------- Updated release instructions for 1.5+ Change summary: --------------------------------------------------------------------- Updated release instructions for 1.5+ Content: --------------------------------------------------------------------- {note} This page is targeted at Committers of the Jackrabbit project tasked with creating releases of modules of Jackrabbit. It documents the current release process and should be updated as we might move forward. {note} This is a draft for a how to about releasing artifacts from Apache Jackrabbit. Most of the work is done by [Maven|http://maven.apache.org/], but we do not currently use the [Maven Release Plugin|http://maven.apache.org/plugins/maven-release-plugin/]. h2. Prerequisites To prepare or perform a release you *MUST BE* at a Apache Jackrabbit Committer. You should have a code signing key that is included in the Jackrabbit KEYS file. See Appendix A at the end of this page for more details. h2. Building the Release Candidates * Make sure that an appropriate version for the release is entered in Jira * Build the release artifacts with Maven. See below for the exact steps. * Upload these files to people.apache.org into your home folder and put them there together with the KEYS file containing your public key so we can verify the signatures. * Start the vote thread, wait 72 hours. * If the vote fails (easy case first) remove the tag from svn - done * If the vote is successful, copy the released artifacts to the dist directory on www.apache.org, delete the old release there (its archived), and deploy the release to the maven repository. * Create a new version for the artifact in jira. h2. Steps to build the release artifacts The following steps are highly manual at the moment because we do not use the Maven Release Plugin to create them. This may change in the future. * Create a {{RELEASE-NOTES.txt}} file in the root folder of the project to be released. If such a file already exists, update it for the release. When done, commit the file. The release notes file has the following contents: ** Short description of the release contents ** Explanation on how to use the source and binary artifacts ** List the enhancements and bugs fixed as well as the open issues * Set the version number in the project descriptor {{pom.xml}} to the release version number and commit the descriptor * Tag the project with a tag containing the project artifact ID and the version number * Set the version number in the project descriptor {{pom.xml}} to the next SNAPSHOT version number and commit the descriptor * Prepare the build location {code:none} VERSION="..." # Release version number LOC="`pwd`/jackrabbit-$VERSION" SRC="$LOC/source" BIN="$LOC/binaries" REPO="$LOC/repository" mkdir -p "$SRC" "$BIN" "$REPO" cd "$LOC" {code} * Export the tagged project and build the sources {code:none} JAR="$SRC/jackrabbit-$VERSION-src.jar" svn export "http://svn.apache.org/repos/asf/jackrabbit/tags/$VERSION" "jackrabbit-$VERSION" jar cMf "$JAR" "jackrabbit-$VERSION" openssl md5 < "$JAR" > "$JAR.md5" openssl sha1 < "$JAR" > "$JAR.sha" gpg --armor --output "$JAR.asc" --detach-sig "$JAR" {code} * Build the project and deploy to the build location {code:none} cd "jackrabbit-$VERSION" mvn -DaltDeploymentRepository="local::default::file://$REPO" clean deploy find "$REPO" -name '*.?ar' -exec gpg --armor --output {}.asc --detach-sig {} \; find "$REPO" -name '*.pom' -exec gpg --armor --output {}.asc --detach-sig {} \; cd - {code} * Copy the main binary artifacts {code:none} cp "$REPO/org/apache/jackrabbit/jackrabbit-webapp/$VERSION/jackrabbit-webapp-$VERSION.war"* "$BIN" cp "$REPO/org/apache/jackrabbit/jackrabbit-jca/$VERSION/jackrabbit-jca-$VERSION.rar"* "$BIN" cp "$REPO/org/apache/jackrabbit/jackrabbit-standalone/$VERSION/jackrabbit-standalone-$VERSION.jar"* "$BIN" {code} * Copy the release notes to the root {code:none} cp "jackrabbit-$VERSION/RELEASE-NOTES.txt" . {code} h2. Related Links * http://www.apache.org/dev/release.html * http://www.apache.org/dev/release-signing.html * http://wiki.apache.org/incubator/SigningReleases * http://www.apache.org/dev/repository-faq.html h2. Appendix A: Create and add your key to the Jackrabbit KEYS file Follow these instructions to generate your code signing key and to add it to the Jackrabbit KEYS file. # [Generate a code signing key|http://www.apache.org/dev/release-signing.html#generate] using your @apache.org address as the email and "CODE SIGNING KEY" as the comment. # The Jackrabbit KEYS file is managed in https://svn.apache.org/repos/asf/jackrabbit/dist/KEYS. To modify the file, first checkout the dist directory: {code:none} svn checkout https://svn.apache.org/repos/asf/jackrabbit/dist {code} # See the beginning of the KEYS file for instructions on how to append your key to the file. # Once you've committed the changes, update the KEYS file on {{people.apache.org}}: {code:none} umask 002; svn update /www/www.apache.org/dist/jackrabbit {code} # You are *DONE*, but to see the changes on http://www.apache.org/dist/jackrabbit/KEYS you must wait 2 hours You should get your key [linked to the Apache web of trust|http://www.apache.org/dev/release-signing.html#apache-wot]. Once other people have signed your key, you can update the KEYS file with the signatures you've received. --------------------------------------------------------------------- CONFLUENCE INFORMATION This message is automatically generated by Confluence Unsubscribe or edit your notifications preferences http://cwiki.apache.org/confluence/users/viewnotifications.action If you think it was sent incorrectly contact one of the administrators http://cwiki.apache.org/confluence/administrators.action If you want more information on Confluence, or have a bug to report see http://www.atlassian.com/software/confluence