From commits-return-36180-apmail-directory-commits-archive=directory.apache.org@directory.apache.org Tue Feb 26 16:17:25 2013 Return-Path: X-Original-To: apmail-directory-commits-archive@www.apache.org Delivered-To: apmail-directory-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B4C0C9CFB for ; Tue, 26 Feb 2013 16:17:25 +0000 (UTC) Received: (qmail 99641 invoked by uid 500); 26 Feb 2013 16:17:25 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 99605 invoked by uid 500); 26 Feb 2013 16:17:25 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 99597 invoked by uid 99); 26 Feb 2013 16:17:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Feb 2013 16:17:25 +0000 X-ASF-Spam-Status: No, hits=-1994.3 required=5.0 tests=ALL_TRUSTED,HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,MIME_HTML_ONLY,T_FRT_PACKAGE X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Feb 2013 16:17:21 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id r1QGH0ZU027978 for ; Tue, 26 Feb 2013 16:17:00 GMT Date: Tue, 26 Feb 2013 11:17:00 -0500 (EST) From: confluence@apache.org To: commits@directory.apache.org Message-ID: <33532105.33942.1361895420030.JavaMail.confluence@thor> Subject: [CONF] Apache Directory Development > Releasing Apache Directory LDAP API MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Auto-Submitted: auto-generated X-Virus-Checked: Checked by ClamAV on apache.org

Releasing Apache Directory LDAP API

Page edited by Emmanuel L=C3=A9charny


Changes (16)

=20 =20
=20 = =20
...
...
[INFO] Checking depen= dencies and plugins for snapshots ...
What is the release versi= on for "Apache Directory Shared"?= (org.apache.directory.shared:shared-parent) 1.0.0-M8: LDAP API"? (org= .apache.directory.api:api-parent) 1.0.0-M16: :
What is the release version for "Apache Directory LDAP API I18n&= quot;? (org.apache.directory.api:api-i18n) 1.0.0-M16: :
What is the release versi= on for "Apache Directory Shared I18n&q= uot;? (org.apache.directory.shared:shared-i18n) 1.0.0-M8: LDAP API Utilities&= quot;? (org.apache.directory.api:api-util) 1.0.0-M16: :
What is the release version = for "Apache Directory Shared Utilities"? (org.apache.directory.sh= ared:shared-util) 1.0.0-M8: :
...
What is SCM release tag or l= abel for "Apache Directory Shared"? (org.apache.directory.shared:= shared-parent) shared-parent-1.0.0-M8: : 1.0.0-M8
What is SCM release tag or label for "Apache Directory LDAP API&= quot;? (org.apache.directory.api:api-parent) 1.0.0-M16: :
...
{noformat}

<= /td>
Do *not* hit enter, but remo= ve the "shared-parent-" prefix here.

h3. 2. Deploy a Snapshot
= {noformat}
...
{noformat}

{note}When asked for the SCM= release tag please *remove* the _shared_ prefix, the version number is eno= ugh.{note}

This creates a tag here: [htt= p://svn.apache.org/viewvc/directory/shared/tags/]

...
This deploys the release to a= staging repository. Go to [https://repository.apache.org/index.html#stagin= gRepositories] and close the staging repository.

h3. 5. Deploy Build the Site
{noformat}
$ cd target/ch= eckout
$ mvn site-deploy <= br>
{noformat}

This creates and deploys the= site via ssh to people.apache.org/www/directory.apache.org/shared/gen-docs= .
This creates the site.

Edit the people.apache.org/w= ww/directory.apache.org/shared/gen-docs/index.html file and add the deploye= d site to the list.

{note}
Now, you have to s= ign the binary packages which are in target/checkout/distribution/target. <= br>
...
{noformat}
$ ssh people.a= pache.org
$ mkdir public_html/shared-<version> public_html/api-<version= >
$ exit
{noformat}
...
{noformat}
$ cd distribut= ions/target
$ scp apache-ldap-api-<= ;version>-* people.apache.org:public_htm= l/shared-<version>/ people.apache.org:public_html/api-<version>/<= /span>
{noformat}

...

h3. 9. Release
If the vote succeeds Shared LDAP API project can be released. <= br>

Go to [https://repositor= y.apache.org/index.html#stagingRepositories] and release the staging reposi= tory so all artifacts are published to Maven central.
...

Full Content

Since we are using Nexus for releases the release process is as = follows (see also http://= www.apache.org/dev/publishing-maven-artifacts.html#staging-maven).

1. Tes= t the Project

$ mvn release:prepare -DdryRun=3Dtrue

Be aware that this phase will ask you about the next version, and most i= mportant, for the next SCM tag :

...
[INFO] Checking dependencies and plugins for snapshots ...
What is the release version for "Apache Directory LDAP API"? (org.apache.di=
rectory.api:api-parent) 1.0.0-M16: :=20
What is the release version for "Apache Directory LDAP API I18n"? (org.apac=
he.directory.api:api-i18n) 1.0.0-M16: :=20
What is the release version for "Apache Directory LDAP API Utilities"? (org=
.apache.directory.api:api-util) 1.0.0-M16: :=20
...
What is SCM release tag or label for "Apache Directory LDAP API"? (org.apac=
he.directory.api:api-parent) 1.0.0-M16: :
...

2. De= ploy a Snapshot

$ mvn deploy

This is useful to verify your settings in ~/.m2/settings.xml (Nexus pass= word and GPG key)

3. = Prepare the Release

$ mvn release:clean
$ mvn release:prepare

This creates a tag here: http://svn.apache= .org/viewvc/directory/shared/tags/

4. St= age the Release

$ mvn release:perform

This deploys the release to a staging repository. Go to https://repository.apache.org/index.html#stagingRepo= sitories and close the staging repository.

5. Build= the Site

$ cd target/checkout
$ mvn site

This creates the site.

3D""Now, you have to sign the binary package= s which are in target/checkout/distribution/target.

Use your PGP key ID (the pub key, 4096R/[XXXXXXX] where [XXXXXXX] is the= key ID)

6. Publish Source and Binary Distribution Packages

First of all, create a new directory on people.apache.org/public_html to= store the pacckages :

$ ssh people.apache.org
$ mkdir public_html/api-<version>
$ exit

Then copy the packages :

$ cd distributions/target
$ scp apache-ldap-api-<version>-* people.apache.org:public_html/api-&=
lt;version>/

7. Test the New Version in ApacheDS and Studio

In apacheds/pom.xml change the <org.apache.directory.shared.versi= on> property, build ApacheDS, go into apacheds/service, and run ./apachds.sh to start the server.

In studio/pom.xml change the <org.apache.directory.shared.version= > and <org.apache.directory.shared.validversion> pro= perties, build Studio, and start Studio in applications/applications_<yo= ur platform>/target/ApacheDirectoryStudio-<your platform>/<exec= utable>. Connect to the started ApacheDS.

8. Vote

Start a 72h vote at the dev mailing list.

9. Release

If the vote succeeds LDAP API project can be released.

Go to https://repository.apache.o= rg/index.html#stagingRepositories and release the staging repository so= all artifacts are published to Maven central.

Move the distribution packages to the dist SVN repository: https://dist.apache.org/repos/dist/rel= ease/directory/api/dist/$(version)
Move the sources releases to the dist SVN repository: https://dist.apache.org/repos/dist/release/director= y/api/$(version)