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
Date Thu, 17 Dec 2009 13:13:00 GMT
Space: Apache Jackrabbit (http://cwiki.apache.org/confluence/display/JCR)
Page: Creating Releases (http://cwiki.apache.org/confluence/display/JCR/Creating+Releases)


Edited by Jukka Zitting:
---------------------------------------------------------------------
This is a how to document for creating Apache Jackrabbit releases. It documents the current
release process and needs to be updated as we move forward.

h2. Prerequisites

You need to be a Jackrabbit committer to prepare and perform a release, but anyone is welcome
to help test the release candidates and comment on the release plans.

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.

You also need to tell Maven your Subversion credentials needed for deploying artifacts to
the Nexus server at https://repository.apache.org/. See Appendix B for the required settings.

h2. Release management tasks

# Make sure that an appropriate version for the release is entered in Jira and that all the
related issues have been resolved.
* 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. See previous
release notes for examples of what to include.
# Build and deploy the release artifacts with Maven. See below for the exact steps.
# Close the staged repository on repository.apache.org.
# Upload the main release archives into your public_html folder on people.apache.org.
# Start the vote thread, wait 72 hours.
# If the vote fails (easy case first) remove the tag from svn and drop the staged repository
- done
# If the vote is successful, copy the release archives to the dist directory on www.apache.org,
delete the old release there (its automatically archived), and promote the staged repository
for synchronization to Maven central.
# Update the Jackrabbit web site to point to the new release.
# Send the release announcement once the web site and download mirrors have been synced.
# Mark the version as released in Jira and close all related issues.

h2. Steps to build the release artifacts

The release is built using the Maven release plugin. See the [Releasing a Maven project|http://maven.apache.org/developers/release/releasing.html]
guide for more details.

# Execute {{mvn release:prepare}}. This will update the POM files and tag the release in svn.
# Execute {{mvn release:perform}}. This will build the tagged release and deploy the artifacts
to a staging repository on repository.apache.org.
# Copy the main release artifacts to a release candidate directory:

{code:none}
VERSION=x.y.z  # Release version number

# Prepare the release directory
mkdir target/$VERSION

# Copy the main release artifacts created in the release:perform stage
cp target/checkout/RELEASE-NOTES.txt target/$VERSION
cp target/checkout/target/jackrabbit-*-src.zip* target/$VERSION
cp target/checkout/jackrabbit-webapp/target/jackrabbit-webapp-*.war* target/$VERSION
cp target/checkout/jackrabbit-jca/target/jackrabbit-jca-*.rar* target/$VERSION
cp target/checkout/jackrabbit-standalone/target/jackrabbit-standalone-*.jar* target/$VERSION

# Add MD5 and SHA1 checksums
for BINARY in target/$VERSION/*.zip target/$VERSION/*ar; do
  openssl md5 < $BINARY > $BINARY.md5
  openssl sha1 < $BINARY > $BINARY.sha
done

# Upload the release directory to people.apache.org
scp -r target/$VERSION people.apache.org:public_html/jackrabbit/$VERSION
{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.

h2. Appendix B: Maven settings

{code:xml}
<settings>
...
  <servers>
    <!-- To deploy a Jackrabbit snapshot -->
    <server>
      <id>apache.snapshots.https</id>
      <username> <!-- YOUR APACHE SVN USERNAME --> </username>
      <password> <!-- YOUR APACHE SVN PASSWORD --> </password>
    </server>
    <!-- To stage a Jackrabbit release -->
    <server>
      <id>apache.releases.https</id>
      <username> <!-- YOUR APACHE SVN USERNAME --> </username>
      <password> <!-- YOUR APACHE SVN PASSWORD --> </password>
    </server>
    ...
  </servers>
</settings>
{code}

Change your notification preferences: http://cwiki.apache.org/confluence/users/viewnotifications.action
   

Mime
View raw message