From 03443502f5a8b8df7bcdc41cfc7480199c3eb4f2 Mon Sep 17 00:00:00 2001 From: Yegor Kozlov Date: Tue, 24 Nov 2009 09:10:49 +0000 Subject: [PATCH] more cleanup of build.xml, improved release procedure, added a script to create .md5 and .asc git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@883629 13f79535-47bb-0310-9956-ffa450edef68 --- build.xml | 19 +++++++---- maven/multisign.sh | 31 ++++++++++++++++++ maven/mvn-deploy.sh | 50 +++++++++-------------------- src/documentation/release-guide.txt | 45 +++----------------------- 4 files changed, 63 insertions(+), 82 deletions(-) create mode 100755 maven/multisign.sh diff --git a/build.xml b/build.xml index f62942ccde..fc365039b1 100644 --- a/build.xml +++ b/build.xml @@ -844,6 +844,13 @@ under the License. + + + + + + + @@ -1011,17 +1018,15 @@ under the License. - + + + + Creating Maven POMs - Generating MD5 Checksums - - - - - Distribution located in ${dist.dir} + Use ${dist.dir}/multisign.sh to create md5 checksums and GPG signatures $i.md5 +done diff --git a/maven/mvn-deploy.sh b/maven/mvn-deploy.sh index ae59e4bff7..0670a4c1b9 100755 --- a/maven/mvn-deploy.sh +++ b/maven/mvn-deploy.sh @@ -43,39 +43,21 @@ M2_REPOSITORY=scp://people.apache.org/www/people.apache.org/repo/m2-ibiblio-rsync-repository M2_SCP=people.apache.org:/www/people.apache.org/repo/m2-ibiblio-rsync-repository -mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ - -Durl=$M2_REPOSITORY \ - -Dfile=poi-@VERSION@-@DSTAMP@.jar -DpomFile=poi-@VERSION@.pom -scp poi-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi/@VERSION@/ -scp poi-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi/@VERSION@/ - -mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ - -Durl=$M2_REPOSITORY \ - -Dfile=poi-scratchpad-@VERSION@-@DSTAMP@.jar -DpomFile=poi-scratchpad-@VERSION@.pom -scp poi-scratchpad-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-scratchpad/@VERSION@/ -scp poi-scratchpad-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-scratchpad/@VERSION@/ - -mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ - -Durl=$M2_REPOSITORY \ - -Dfile=poi-contrib-@VERSION@-@DSTAMP@.jar -DpomFile=poi-contrib-@VERSION@.pom -scp poi-contrib-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-contrib/@VERSION@/ -scp poi-contrib-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-contrib/@VERSION@/ - -mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ - -Durl=$M2_REPOSITORY \ - -Dfile=poi-ooxml-@VERSION@-@DSTAMP@.jar -DpomFile=poi-ooxml-@VERSION@.pom -scp poi-ooxml-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-ooxml/@VERSION@/ -scp poi-ooxml-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-ooxml/@VERSION@/ - -mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ - -Durl=$M2_REPOSITORY \ - -Dfile=poi-examples-@VERSION@-@DSTAMP@.jar -DpomFile=poi-examples-@VERSION@.pom -scp poi-examples-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-examples/@VERSION@/ -scp poi-examples-@VERSION@-sources.* $M2_SCP/org/apache/poi/poi-examples/@VERSION@/ - -mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ - -Durl=$M2_REPOSITORY \ - -Dfile=poi-ooxml-schemas-@VERSION@-@DSTAMP@.jar -DpomFile=poi-ooxml-schemas-@VERSION@.pom -scp poi-ooxml-schemas-@VERSION@.pom.asc $M2_SCP/org/apache/poi/poi-ooxml-schemas/@VERSION@/ +VERSION=@VERSION@ +DSTAMP=@DSTAMP@ +for artifactId in poi poi-scratchpad poi-contrib poi-ooxml poi-examples poi-ooxml-schemas +do + mvn gpg:sign-and-deploy-file -DrepositoryId=apache-releases -P apache-releases \ + -Durl=$M2_REPOSITORY \ + -Dfile=$artifactId-$VERSION-$DSTAMP.jar -DpomFile=$artifactId-$VERSION.pom + #The maven sign-and-deploy-file command does NOT sign POM files, so we have to upload the POM's .asc manually + scp $artifactId-$VERSION.pom.asc $M2_SCP/org/apache/poi/$artifactId/$VERSION/ + if [ -r $artifactId-$VERSION-sources.jar ]; then + mvn deploy:deploy-file -DrepositoryId=apache-releases -P apache-releases \ + -Durl=$M2_REPOSITORY -DgeneratePom=false -Dpackaging=java-source \ + -Dfile=$artifactId-$VERSION-sources.jar -DpomFile=$artifactId-$VERSION.pom + scp $artifactId-$VERSION-sources.jar.asc $M2_SCP/org/apache/poi/$artifactId/$VERSION/ + fi +done diff --git a/src/documentation/release-guide.txt b/src/documentation/release-guide.txt index 003c55c368..fa89b61d7c 100644 --- a/src/documentation/release-guide.txt +++ b/src/documentation/release-guide.txt @@ -59,58 +59,21 @@ $ svn merge https://svn.apache.org/repos/asf/poi/tags/$TAG \ https://svn.apache.org/repos/asf/poi/trunk {code} - 5. Start a new section in sites.xml and status.xml. + 5. Start a new section in status.xml. 6. Build as if the vote had passed. The build date must be +7 days from current. {code} ant build {code} -After build you should have the following files in the build/dist: - -{code} -poi-$TAG-$DATE.jar -poi-bin-$TAG-$DATE.tar.gz -poi-bin-$TAG-$DATE.zip -poi-contrib-$TAG-$DATE.jar -poi-scratchpad-$TAG-$DATE.jar -poi-src-$TAG-$DATE.tar.gz -poi-src-$TAG-$DATE.zip -{code} where $TAG is the release tag specified in build.xml in the version.id property, $DATE is the release date (typically +7 days from the actual build date). 7. Signing the release artifacts: {code} cd build/dist -for i in *.zip ; do - gpg --armor --output $i.asc --detach-sig $i; -done -for i in *.gz ; do - gpg --armor --output $i.asc --detach-sig $i; -done -{code} +./multisign.sh -Verify the signatures: - -{code} -gpg --multifile --verify *.asc -{code} - - 8. Create MD5 checksums for all artifacts to be published: - -{code} -for i in *.zip ; do - openssl md5 < $i > $i.md5 -done -for i in *.gz ; do - openssl md5 < $i > $i.md5 -done -{code} - - 9. Upload to your area at people.apache.org. -There should be two directories: -main -maven + 8. Upload to your area at people.apache.org, e.g. public_html/poi Make sure that the all files have read permission. @@ -139,7 +102,7 @@ cp *-src-* /www/www.apache.org/dist/poi/release/src cp *-bin-* /www/www.apache.org/dist/poi/release/bin {code} -copy Maven artifacts +deploy Maven artifacts {code} cd build/dist ./mvn-deploy.sh