jackrabbit-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Jackrabbit: Creating Releases (page edited)
Date Fri, 28 Nov 2008 14:30:00 GMT
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



Mime
View raw message