...
- Download and install the Gnu Privacy Guard (GPG) from http://www.gnupg.org. Read the documentation on that site and create a key. Have the key signed and verified by others. Submit your public key to http://pgp.mit.edu/. This is a one time process.
- Create a "staging" profile in your
~/.m2/settings.xml
Code Block <profile> <id>staging</id> <properties> <!-- deploy.altRepository>prasad::default::scp://people.apache.org/x1/home/prasad/public_html/2.0-M1-rc1</deploy.altRepository --> <deploy.altRepository>prasad::default::file://c:\cygwin\home\prasad\releases</deploy.altRepository> <gpg.passphrase>Your GPG Passphrase</gpg.passphrase> </properties> </profile>
- Copy (or move as per situation, for eg specs) the trunk to branches using the following command.
No Format svn mv SRC-URL DEST-URL -m "Reason for this commit".
- Checkout or update this branches tree on your machine.
- Update the <scm> urls in the
pom.xml
to point to the final url in tags. Eg:Code Block <scm> <connection>scm:svn:http://svn.apache.org/repos/asf/geronimo/specs/tags/geronimo-servlet_2.5_spec-1.1</connection> <developerConnection>scm:svn:https://svn.apache.org/repos/asf/geronimo/repos/asf/geronimo/specs/tags/geronimo-servlet_2.5_spec-1.1</developerConnection> <url>http://svn.apache.org/viewvc/geronimo/repos/asf/geronimo/specs/tags/geronimo-servlet_2.5_spec-1.1</url> </scm>
- Build the new branches new branches tree that will soon be released using the following command.
No Format Server 2.1.x - mvn -Pstaging deploy Genesis 1.x - mvn -Pdefault,release deploy Others - mvn -pdefault,staging deploy
Note title Staging Before running this step, verify that there is a corresponding "staging" or "release" profile in pom.xml. Some of the newer releases, will require you to use -Pdefault,release as we are trying to make it impossible to directly release artifacts to the apache.release repo by providing a default "release" profile that stages files to public people.apache.org directory.
- Go the temporary staging directory specified by
deploy.altRepository
element in the staging profile of yoursettings.xml
. Delete all *.asc.* files under this directory tree. Tar the staging directory using the commandNo Format find . -name *.asc.* | xargs rm -f tar -zcvf release.tar.gz releases
Info Ensure you include the *.asc files, as these are required and will be checked for by the Apache Repository team.
- Copy the tar ball to a publicly accessible location. Put it for a vote. In the vote notice, please include the precise names and versions being voted on (e.g. geronimo-javamail_1.4_spec-1.1) and the svn urls to the current source and where the tag will be created.
- After it has been approved, untar the tar ball into the appropriate maven structure on people.apache.org under the directory /www/people.apache.org/repo/m2-ibiblio-rsync-repository. A cron job will rsync this with ibiblio and release it into the wild.
No Format gunzip foo.tar.gz tar -xvf foo.tar
Info Ensure that the files you copy to the rsync directory have
0775
dir permission and a0664
file permission set on them. - Move the branches to tags using the following command.
No Format svn mv SRC-URL DEST-URL -m "Reason for this commit".
...