Guide to Directory Releases has been edited by Felix Knecht (Sep 17, 2008).

(View changes)

Content:

Introduction

Releasing Apache Directory Projects can be involved. This release guide will walk you through the process first by preparing your maven and gpg configuration then by leading you through the release of various subprojects at Directory.

There may be a few things you'll need to setup before you can release. This release guide is geared to work off of a UNIX based system that has gpg installed. If you're using Windows then I feel for you .

We use Maven version 2.0.6 and JDK 1.5.0 (update 11) to build all Directory subrojects even if they run on JDK 1.4.2. If you build with JDK 1.4.2 you're build lamn versions of ApacheDS for example because certain optional functionality present when run on JDK 1.5.x and up will not be present. Furthermore you won't be able to deploy some jars because of bugs in Maven SSH functionality that require 1.5.x. So please use JDK 1.5 and don't even think about JDK 1.6 yet at least for deploying with Maven.

Maven Settings

You'll need a settings section for the people.apache.org server with a password or a path to the SSH key used. Here's what my settings.xml file in ~/.m2 looks like:

<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>akarasulu</username>
      <privateKey>/home/akarasulu/.ssh/id_dsa</privateKey>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
  </servers>
  <profiles>
    <profile>
      <id>release</id>
      <properties>
        <gpg.passphrase>****</gpg.passphrase>
        <!-- Sample for alternative deployment repository
          <deploy.altRepository>-DaltDeploymentRepository=apache.release::default::scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</deploy.altRepository>
        -->
      </properties>
    </profile>
  </profiles>
</settings>

Just replace your username in place of 'akarasulu' and if you're using a password replace the <privateKey> tag with <password> and add your UNIX account password there. Note that the username and password are the ones you use for your Apache UNIX account.

You'll need to provide the passphrase in the settings.xml to access the gpg secret key installed on your host. This is due to a bug with the passphrase propmt in the maven-gpg-plugin. So unfortunately we must provide the passphrase in the settings.xml file in clear text. This should change in the future when this bug is fixed. Note that this passphrase is put into the release profile which we activate to properly sign and release the artifacts and poms via the release plugin.

GPG Key

All subprojects are configured to deploy signatures for the artifacts uploaded to the repository. The gpg plugin will check use the default gpg key for the user deploying the project with the release:perform directive of the release plugin. This will prompt you for the passphrase for the default key. If you do not have one setup the build will fail.

You can generate and upload a PGP key to a PGP keyserver using the following commands:

gpg --gen-key
gpg --fingerprint
gpg --keyserver subkeys.pgp.net --send-keys <your key's id from last command>

Releasing Directory Projects and Making Release Announcements

Releasing Shared Releasing Shared
Releasing Daemon Releasing Daemon
Releasing ApacheDS Releasing ApacheDS
Releases Announcements Release Announcements

Promoted by third party (update information may need to be sent)

Project Reference Contact
Studio Open Source Rich client platform (RCP) applications news@eclipse.org

Powered by Atlassian Confluence (Version: 2.2.9 Build:#527 Sep 07, 2006) - Bug/feature request

Unsubscribe or edit your notifications preferences