You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Marc Boorshtein <mb...@gmail.com> on 2010/10/11 17:32:02 UTC

Re: [CONF] Apache Directory Development > Guide to Directory Releases

P

Sent from my iPhone

On Oct 11, 2010, at 10:24 AM, confluence@apache.org wrote:

> Guide to Directory Releases
> 
> Page edited by Stefan Seelmann
> 
> 
> Changes (2)
> 
> ...
> h2. Releasing Directory Projects and Making Release Announcements 
> 
> |Releasing Shared|[Releasing Skins|[Releasing Skins]| 
> |Releasing Shared|[Releasing Shared]| 
> |Releasing Daemon|[Releasing Daemon]| 
> ...
> |Releasing ApacheDS Manuals|[Releasing ApacheDS Manuals]| 
> |Releasing Studio|[Releasing Studio]| 
> |Releasing Studio|[Releasing Studio Maven Plugin|[Releasing Studio Maven Plugin]| 
> |Releases Announcements|[Release Announcements]| 
> 
> ...
> Full 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.2.1 and JDK 1.6.0 to build all Directory subrojects even if they run on JDK 1.5.
> 
> Maven Settings
> 
> You'll need a settings section for the Nexus and people.apache.org servers with a password or a path to the SSH key used. Here's what my settings.xml file in ~/.m2 looks like:
> 
> <settings>
> 
>   <servers>
>     <!-- To publish a snapshot of some part of Maven -->
>     <server>
>       <id>apache.snapshots.https</id>
>       <username>username</username>
>       <password>********</password>
>     </server>
> 
>     <!-- To publish a website using Maven -->
>     <server>
>       <id>apache.directory</id>      
>       <username>username</username>
>       <privateKey>/Users/username/.ssh/id_rsa</privateKey>
>       <filePermissions>664</filePermissions>
>       <directoryPermissions>775</directoryPermissions>
>     </server>
> 
>     <!-- To stage a release of some part of Maven -->
>     <server>
>       <id>apache.releases.https</id>
>       <username>username</username>
>       <password>********</password>
>     </server>
> 
>   </servers>
> 
>   <profiles>
>     <profile>
>       <id>apache-release</id>
>       <properties>
>         <gpg.passphrase>********</gpg.passphrase>
>       </properties>
>     </profile>
>   </profiles>
> 
> </settings>
> Just replace your username, passwords and paths. Note that the username and password is your Apache LDAP 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 prompt 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>
> 	Make sure to have created the .pgpkey in your p.a.o/~ directory and to have added your public key to the KEYS file.
> See also http://people.apache.org/~henkp/repo/faq.html#4
> Releasing Directory Projects and Making Release Announcements
> 
> Releasing Skins	Releasing Skins
> Releasing Shared	Releasing Shared
> Releasing Daemon	Releasing Daemon
> Releasing ApacheDS	Releasing ApacheDS
> Releasing ApacheDS Manuals	Releasing ApacheDS Manuals
> Releasing Studio	Releasing Studio
> Releasing Studio Maven Plugin	Releasing Studio Maven Plugin
> 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 
> Change Notification Preferences         View Online | View Changes