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 .
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> <!-- My latest permission problems when deploying solved the following configuration addition, see also http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ssh-external.html quite in the middle of the page "If you are deploying from Unix or have Cygwin ..." - I needed the configuration in contradiction what the doc says ... --> <configuration> <sshExecutable>ssh</sshExecutable> <scpExecutable>scp</scpExecutable> </configuration> </server> </servers> <profiles> <profile> <id>release</id> <properties> <gpg.passphrase>****</gpg.passphrase> <!-- Sample for alternative deployment repository <release.altDeploymentRepository>-DaltDeploymentRepository=apache.release::default::scpexe://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository</release.altDeploymentRepository> --> </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.
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>
Promoted by third party (update information may need to be sent)