From scm-return-47395-apmail-geronimo-scm-archive=geronimo.apache.org@geronimo.apache.org Fri Sep 23 06:35:30 2011 Return-Path: X-Original-To: apmail-geronimo-scm-archive@www.apache.org Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7001F94D9 for ; Fri, 23 Sep 2011 06:35:30 +0000 (UTC) Received: (qmail 21234 invoked by uid 500); 23 Sep 2011 06:35:29 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 21057 invoked by uid 500); 23 Sep 2011 06:35:25 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 20991 invoked by uid 99); 23 Sep 2011 06:35:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 23 Sep 2011 06:35:23 +0000 X-ASF-Spam-Status: No, hits=-1993.0 required=5.0 tests=ALL_TRUSTED,HTML_MESSAGE,MIME_HTML_ONLY,URI_HEX 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; Fri, 23 Sep 2011 06:35:20 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id p8N6Z0f0004940 for ; Fri, 23 Sep 2011 06:35:00 GMT Date: Fri, 23 Sep 2011 02:35:00 -0400 (EDT) From: confluence@apache.org To: scm@geronimo.apache.org Message-ID: <26200270.19381.1316759700503.JavaMail.confluence@thor> Subject: [CONF] Apache Geronimo Project Management > Geronimo 2.1.7 Release Process MIME-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Auto-Submitted: auto-generated

Geronimo 2.1.7 Release Process

Page edited by Rex Wang


Changes (1)

=20 =20
=20 =20
...
** Copy [https://svn.apache.o= rg/repos/asf/geronimo/KEYS] to people.apache.org:/www/www.apache.org/dist/g= eronimo/KEYS if your public key is not in it (one time)
** Upload the a= rtifacts and their checksums to people.apache.org:/www/www.apache.org/dist/= geronimo/2.1.5
** Ensure distribution direct= ories have 0775 dir permission and a 0664 file permission set on them
=
** ps: the changes in people.apache.org:/www/www.apache.org/dist/gero= nimo need take some time to get sync in http://www.apache.org/dist/geronimo= /

h3. 11. Announce in Mail= ing list and Post news in homepage
...

Full Content

Geronimo 2.1.7 Release Process

Reference =EF=BB=BFhttp://www.apache= .org/dev/publishing-maven-artifacts.html

Release Ch= ecklist

1. Better to use a non-Windows system to cre= ate the release candidate

2. mvn rat= :check

    =09
  • Dealing with the 2.1.7 release, I found the maven rat plugin(1.0-alp= ha-3, latest) seems have some bugs. =09
      =09=09
    • incorrect number of unapproved licenses reported by rat:check. Th= is should be resolved in 1.0-alpha-4, but it has not released yet..(http://incubator.apache.org/rat/ap= ache-rat-plugin/changes-report.html)
    • =09=09
    • If I designated the profile, for example -Pall-subprojects, r= at:check won't run in any of the subprojects.
      If I designated -Pno-it, rat:check will run only in testsuite subprojec= t.
      If I designated -Ptools, which does not contain any subprojects, it wil= l run in all subprojects.
      So, the program logic is inverted.. I have to use -Ptools to do rat:che= ck..
    • =09
    =09

3. Manually update some files:

    =09
  • delete all pom.xml files, and then search "SNAPSHOT" =09
      =09=09
    • Manually check plugin-list url in $SRC\framework\configs\plugin\p= om.xml 
    • =09
    =09
  • =09
  • update ##VERSION## in README.txt and RELEASE-NOTES-2.1.7-SNAPSHOT.tx= t
  • =09
  • svn rename RELEASE-NOTES-2.1.7-SNAPSHOT.txt to RELEASE-NOTES-2.1.7.t= xt
  • =09
  • list JIRAs in RELEASE-NOTES-2.1.7.txt (bugs, improvement, new featur= es, limitations)
  • =09
  • Check the copyright year number in NOTICE file
  • =09
  • commit them

4. mvn release:prepare -DdryRun=3Dtrue &= #45;Pall-subprojects

    =09
  • Diff the original file pom.xml with the one called pom.xml.tag to se= e if the license or any other info has been removed. This has been known to= happen if the starting <project> tag is not on a single line.
  • =09
  • The only things that should be different between these files are the= <version> and <scm> elements. Any other changes you must backp= ort yourself to the original pom.xml file and commit before proceeding with= the release.
  • =09
  • compare the numbers of pom.xml, pom.xml.tag, pom.xml.releaseBackup =09
      =09=09
    • NOTE: the following 5 pom.xml files won't generate the pom.xml.ta= g and pom.xml.releaseBackup files
      \buildsupport\geronimo-assembly-archetype\src\main\resources\archetype-reso= urces\pom.xml
      \buildsupport\geronimo-plugin-archetype\src\main\resources\archetype-resour= ces\pom.xml
      \buildsupport\testsuite-archetype-plugin\src\main\resources\archetype-resou= rces\pom.xml
      \buildsupport\testsuite-archetype-plugin\src\main\resources\archetype-resou= rces\testset-1\pom.xml
      \testsuite\enterprise-testsuite\ejbcontainer-tests\pom.xml
    • =09
    =09

5. Release= Prepare

    =09
  • Before doing release prepare, clean up you local repository to avoid= the bad staging release artifacts to be included in the geronimo release. = see reference. =09
  • This will update the versions in branch 2.1 and create the release t= ag =09
      =09=09
    • mvn release:clean -Pall-subprojects
    • =09=09
    • mvn release:prepare -Pall-subprojects =09=09
        =09=09=09
      • you need "mvn clean install -Dstage=3Dbootstrap" in midway=
      • =09=09
      =09=09
    • =09
    =09

6. Release= Perform

7. Vote

    =09
  • Vote in mailing list, meanwhile wait TCK results. The artifacts up = for vote are the geronimo-2.1.x-source-release.tar.gz and geronimo-2.1.x-so= urce-release.zip.
  • =09
  • Post "RESULTxxx" when vote close.

8. Relea= se artifacts

    =09
  • In Apache nexus, click "release" =09
      =09=09
    • the artifacts will be synchronized to maven central repository in= some time.
    • =09
    =09

9. Update geronimo-plugins.xml

10= . Upload artifacts to dist

11. Announce in Mailing list and Post news in homepage

12. Update the security advisory page

13. Manaually update files in the 2.1 branch after r= elease

    =09
  • update 2.1.7 to ##VERSION## in README.txt and RELEASE-NOTES-2.1.7.tx= t
  • =09
  • svn rename RELEASE-NOTES-2.1.7.txt to RELEASE-NOTES-2.1.8-SNAPSHOT.t= xt
  • =09
  • remove the JIRA list in RELEASE-NOTES-2.1.8-SNAPSHOT.txt (bugs, impr= ovement, new features, limitations)
  • =09
  • search "2.1.7" and change them to "2.1.8-SNAPSHOT"
  • =09
  • Update artifact-alias, add version 2.1.7 in artifact-alias after 2.1= .7 release =09
      =09=09
    • /framework/configs/pom.xml
    • =09=09
    • /plugins/client/pom.xml
    • =09=09
    • /plugins/corba/client-corba-yoko/pom.xml
    • =09=09
    • /plugins/pom.xml
    • =09
    =09
  • =09
  • commit them

Prerequisite

1. Use Genesis 2.0 as a parent pom

<parent>
  <groupId>org.apache.geronimo.genesi=
s</groupId>
  <artifactId>genesis-java5-flava</artifactId>
  <version>2.0</version>
</parent>
    =09
  • genesis-java5-flava-2.0.pom =09
      =09=09
    • genesis-default-flava-2.0.pom =09=09
        =09=09=09
      • genesis-2.0.pom =09=09=09
          =09=09=09=09
        • apache-6.pom
        • =09=09=09
        =09=09=09
      • =09=09
      =09=09
    • =09
    =09

2. Use Mave= n 2.2.1

<settings>
...
  <servers>
    <!-- To publis=
h a snapshot of some part of Maven -->
    <server>
      <id>apache.snapshots.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --><=
/span> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD --><=
/span> </password>
    </server>
    <!-- To publis=
h a website of some part of Maven -->
    <server>
      <id>apache.website</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --><=
/span> </username>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
    <!-- To stage =
a release of some part of Maven -->
    <server>
      <id>apache.releases.https</id>
      <username> <!-- YOUR APACHE LDAP USERNAME --><=
/span> </username>
      <password> <!-- YOUR APACHE LDAP PASSWORD --><=
/span> </password>
    </server>
    <!-- To stage =
a website of some part of Maven -->
    <server>
      <id>stagingSite</id> <!-- must match hard-coded repository identifier in site:stage-de=
ploy -->
      <username> <!-- YOUR APACHE LDAP USERNAME --><=
/span> </username>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
    ...
  </servers>
</settings>

reference:
It is highly recommended to use Maven's password encryption capabilities fo= r your passwords.http://maven.apache.or= g/guides/mini/guide-encryption.html

3. Setup PGP Keys (for the ones who b= e the release manager the first time)

    =09
  • Download gnupg2
  • =09
  • Generate your PGP Key (refer: http://www.apache.org= /dev/openpgp.html) so that maven-release-plugin can sign your built art= ifacts when do release:perform =09
      =09=09
    • How To Avoid SHA-1
    • =09=09
    • How To Generate a Strong Key
    • =09
    =09
  • =09
  • Update Maven's settings.xml with following:
    <settings>
      ...
      <profiles>
        <profile>
          <id>apache-release</id>
          <properties>
            <gpg.passphrase> <!-- YOUR KEY PASSPHRASE --&g=
    t; </gpg.passphrase>
          </properties>
        </profile>
      </profiles>
      ...
    </settings>
    
  • =09
  • Meanwhile, append your public key to https:= //svn.apache.org/repos/asf/geronimo/KEYS and people.apache.org:/www/www= .apache.org/dist/geronimo/KEYS so that user can verify the artifacts you re= leased. =09
      =09=09
    • gpg --gen-key =09=09
        =09=09=09
      • RSA and RSA (default), 4096
      • =09=09
      =09=09
    • =09=09
    • gpg --list-sigs "xxxxxx" && gpg --armor --exp= ort "xxxxxx" > xxxxxx.key =09=09
        =09=09=09
      • "cat" your public key to above KEYS file
      • =09=09
      =09=09
    • =09
    =09

reference:
http://maven.apache.org/developers/r= elease/pmc-gpg-keys.html