SOLR-1522: automated release signing process

git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@834497 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Grant Ingersoll 2009-11-10 15:24:51 +00:00
parent 387e29184e
commit c6b7fee436
3 changed files with 36 additions and 31 deletions

View File

@ -46,6 +46,8 @@ Other Changes
Build Build
---------------------- ----------------------
1. SOLR-1522: Automated release signing process. (gsingers)
Documentation Documentation
---------------------- ----------------------

View File

@ -722,35 +722,34 @@
</delete> </delete>
</target> </target>
<target name="sign-artifacts" depends="clean-dist-signatures"> <target name="sign-artifacts" depends="clean-dist-signatures">
<!--<input message="Enter signature passphrase" addproperty="passphrase"/> <!--<property file="${user.home}/.solr/build.properties" />-->
<touch file="${user.home}/.pwd.txt"/> <input message="password:>" addproperty="gpg.passphrase">
<chmod file="${user.home}/.pwd.txt" perm="600"/> <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
<echo file="${user.home}/.pwd.txt">${passphrase}</echo>--> </input>
<sign-artifact input.file="${dist}/${fullnamever}.tgz" output.file="${dist}/${fullnamever}.tgz.asc"/> <sign-artifact input.file="${dist}/${fullnamever}.tgz" output.file="${dist}/${fullnamever}.tgz.asc" gpg.passphrase="${gpg.passphrase}"/>
<sign-artifact input.file="${dist}/${fullnamever}.zip" output.file="${dist}/${fullnamever}.zip.asc"/> <sign-artifact input.file="${dist}/${fullnamever}.zip" output.file="${dist}/${fullnamever}.zip.asc" gpg.passphrase="${gpg.passphrase}"/>
<!-- Maven artifacts --> <!-- Maven artifacts -->
<sign-maven-dependency-artifacts artifact.id="solr-commons-csv"/> <sign-maven-dependency-artifacts artifact.id="solr-commons-csv" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-core"/> <sign-maven-artifacts artifact.id="solr-core" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-dataimporthandler"/> <sign-maven-artifacts artifact.id="solr-dataimporthandler" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-dataimporthandler-extras"/> <sign-maven-artifacts artifact.id="solr-dataimporthandler-extras" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-clustering"/> <sign-maven-artifacts artifact.id="solr-clustering" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-cell"/> <sign-maven-artifacts artifact.id="solr-cell" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-dependency-artifacts artifact.id="solr-lucene-analyzers"/> <sign-maven-dependency-artifacts artifact.id="solr-lucene-analyzers" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-dependency-artifacts artifact.id="solr-lucene-core"/> <sign-maven-dependency-artifacts artifact.id="solr-lucene-core" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-dependency-artifacts artifact.id="solr-lucene-highlighter"/> <sign-maven-dependency-artifacts artifact.id="solr-lucene-highlighter" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-dependency-artifacts artifact.id="solr-lucene-queries"/> <sign-maven-dependency-artifacts artifact.id="solr-lucene-queries" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-dependency-artifacts artifact.id="solr-lucene-snowball"/> <sign-maven-dependency-artifacts artifact.id="solr-lucene-snowball" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-dependency-artifacts artifact.id="solr-lucene-spellchecker"/> <sign-maven-dependency-artifacts artifact.id="solr-lucene-spellchecker" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-solrj"/> <sign-maven-artifacts artifact.id="solr-solrj" gpg.passphrase="${gpg.passphrase}"/>
<sign-maven-artifacts artifact.id="solr-velocity"/> <sign-maven-artifacts artifact.id="solr-velocity" gpg.passphrase="${gpg.passphrase}"/>
<!-- Thes are special since there are no jars, just poms --> <!-- Thes are special since there are no jars, just poms -->
<sign-artifact input.file="${maven.dist.prefix}/solr-parent/${maven_version}/solr-parent-${maven_version}.pom"/> <sign-artifact input.file="${maven.dist.prefix}/solr-parent/${maven_version}/solr-parent-${maven_version}.pom" gpg.passphrase="${gpg.passphrase}"/>
<sign-artifact input.file="${maven.dist.prefix}/solr-lucene-contrib/${maven_version}/solr-lucene-contrib-${maven_version}.pom"/> <sign-artifact input.file="${maven.dist.prefix}/solr-lucene-contrib/${maven_version}/solr-lucene-contrib-${maven_version}.pom" gpg.passphrase="${gpg.passphrase}"/>
<!--<delete file="${user.home}/.pwd.txt"/>-->
</target> </target>

View File

@ -283,14 +283,16 @@
<macrodef name="sign-artifact" description="Signs the artifact"> <macrodef name="sign-artifact" description="Signs the artifact">
<attribute name="input.file"/> <attribute name="input.file"/>
<attribute name="output.file" default="@{input.file}.asc"/> <attribute name="output.file" default="@{input.file}.asc"/>
<!--<attribute name="password.file" default="${user.home}/.pwd.txt"/>--> <attribute name="gpg.passphrase"/>
<sequential> <sequential>
<echo >Signing @{input.file} Sig File: @{output.file}</echo><!--Pass: @{password.file}--> <echo >Signing @{input.file} Sig File: @{output.file}</echo>
<exec executable="gpg" > <!--input="@{password.file}"--> <exec executable="gpg" >
<arg value="--armor"/> <arg value="--armor"/>
<arg value="--output"/> <arg value="--output"/>
<arg value="@{output.file}"/> <arg value="@{output.file}"/>
<arg value="--passphrase"/>
<arg value="@{gpg.passphrase}"/>
<arg value="--detach-sig"/> <arg value="--detach-sig"/>
<arg value="@{input.file}"/> <arg value="@{input.file}"/>
</exec> </exec>
@ -308,11 +310,12 @@
<attribute name="artifact.id"/> <attribute name="artifact.id"/>
<attribute name="prefix.dir" default="${maven.dist.prefix}"/> <attribute name="prefix.dir" default="${maven.dist.prefix}"/>
<attribute name="maven.version" default="${maven_version}"/> <attribute name="maven.version" default="${maven_version}"/>
<attribute name="gpg.passphrase"/>
<sequential> <sequential>
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.jar"/> <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.jar" gpg.passphrase="@{gpg.passphrase}"/>
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}-javadoc.jar"/> <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}-javadoc.jar" gpg.passphrase="@{gpg.passphrase}"/>
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}-sources.jar"/> <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}-sources.jar" gpg.passphrase="@{gpg.passphrase}"/>
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.pom"/> <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.pom" gpg.passphrase="@{gpg.passphrase}"/>
</sequential> </sequential>
</macrodef> </macrodef>
@ -320,8 +323,9 @@
<attribute name="artifact.id"/> <attribute name="artifact.id"/>
<attribute name="prefix.dir" default="${maven.dist.prefix}"/> <attribute name="prefix.dir" default="${maven.dist.prefix}"/>
<attribute name="maven.version" default="${maven_version}"/> <attribute name="maven.version" default="${maven_version}"/>
<attribute name="gpg.passphrase"/>
<sequential> <sequential>
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.jar"/> <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.jar" gpg.passphrase="@{gpg.passphrase}"/>
</sequential> </sequential>
</macrodef> </macrodef>