You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by gs...@apache.org on 2008/09/19 17:07:17 UTC

svn commit: r697123 - in /lucene/solr/trunk: CHANGES.txt build.xml common-build.xml

Author: gsingers
Date: Fri Sep 19 08:07:17 2008
New Revision: 697123

URL: http://svn.apache.org/viewvc?rev=697123&view=rev
Log:
SOLR-776: artifact signing

Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/build.xml
    lucene/solr/trunk/common-build.xml

Modified: lucene/solr/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=697123&r1=697122&r2=697123&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Fri Sep 19 08:07:17 2008
@@ -50,7 +50,8 @@
 
 Build
 ----------------------
-
+ 1. SOLR-776: Added in ability to sign artifacts via Ant for releases (gsingers)
+ 
 
 Documentation
 ----------------------

Modified: lucene/solr/trunk/build.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/build.xml?rev=697123&r1=697122&r2=697123&view=diff
==============================================================================
--- lucene/solr/trunk/build.xml (original)
+++ lucene/solr/trunk/build.xml Fri Sep 19 08:07:17 2008
@@ -712,21 +712,47 @@
 			<arg value="update"/>
 		</exec>
 	</target>
-  <target name="prepare-release" depends="clean, svn-up, build-site, package" description="Prototype helper for Committers.  Assumes gpg is in the path">
-	<exec executable="gpg">
-	    <arg value="--armor"/>
-	    <arg value="--output"/>
-	    <arg value="${dist}/${fullnamever}.tgz.asc"/>
-		<arg value="--detach-sig"/>
-    	<arg value="${dist}/${fullnamever}.tgz"/>
-	  </exec>
-	<exec executable="gpg">
-	    <arg value="--armor"/>
-	    <arg value="--output"/>
-	    <arg value="${dist}/${fullnamever}.zip.asc"/>
-		<arg value="--detach-sig"/>
-    	<arg value="${dist}/${fullnamever}.zip"/>
-	  </exec>
+
+  <target name="clean-dist-signatures">
+    <delete failonerror="false">
+      <fileset dir="${dist}">
+        <include name="**/*.asc"/>
+      </fileset>
+    </delete>
+  </target>
+  <target name="sign-artifacts" depends="clean-dist-signatures">
+    <!--<input message="Enter signature passphrase" addproperty="passphrase"/>
+    <touch file="${user.home}/.pwd.txt"/>
+    <chmod file="${user.home}/.pwd.txt" perm="600"/>
+    <echo file="${user.home}/.pwd.txt">${passphrase}</echo>-->
+    <sign-artifact input.file="${dist}/${fullnamever}.tgz" output.file="${dist}/${fullnamever}.tgz.asc"/>
+    <sign-artifact input.file="${dist}/${fullnamever}.zip" output.file="${dist}/${fullnamever}.zip.asc"/>
+
+    <!-- Maven artifacts -->
+    <sign-maven-artifacts artifact.id="solr-common"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-commons-csv"/>
+    <sign-maven-artifacts artifact.id="solr-core"/>
+    <sign-maven-artifacts artifact.id="solr-dataimporthandler"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-lucene-analyzers"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-lucene-core"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-lucene-highlighter"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-lucene-queries"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-lucene-snowball"/>
+    <sign-maven-dependency-artifacts artifact.id="solr-lucene-spellchecker"/>
+    <sign-maven-artifacts artifact.id="solr-solrj"/>
+
+    <!-- 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-lucene-contrib/${maven_version}/solr-lucene-contrib-${maven_version}.pom"/>
+
+    <!--<delete file="${user.home}/.pwd.txt"/>-->
+  </target>
+
+
+
+
+  <target name="prepare-release" depends="clean, svn-up, build-site, package, sign-artifacts" description="Prototype helper for Committers.  Assumes gpg is in the path">
+
     <tar destfile="${dist}/solr-maven.tar">
 		  <tarfileset dir="${dist}/maven" prefix="maven"/>
     </tar>
@@ -738,6 +764,14 @@
   <target name="generate-maven-artifacts" depends="maven.ant.tasks-check, create-package">
     <sequential>
 
+      <!--
+
+       !!!!!!!!!!
+       NOTE:  If you add new artifacts, please make sure you also add to the sign-artifacts target
+       so that they get signed during release.
+      !!!!!!!
+       -->
+
       <mkdir dir="${maven.build.dir}"/>
       <mkdir dir="${maven.dist.dir}"/>
 

Modified: lucene/solr/trunk/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/solr/trunk/common-build.xml?rev=697123&r1=697122&r2=697123&view=diff
==============================================================================
--- lucene/solr/trunk/common-build.xml (original)
+++ lucene/solr/trunk/common-build.xml Fri Sep 19 08:07:17 2008
@@ -101,6 +101,8 @@
   <property name="maven.build.dir" value="${basedir}/build/maven"/>
   <property name="maven.dist.dir" value="${basedir}/dist/maven"/>
 
+  <property name="maven.dist.prefix" value="${maven.dist.dir}/org/apache/solr"/>
+
   <!-- The version suffix of the Lucene artifacts checked into "lib" -->
   <property name="lucene_version" value="2.4-dev"/>
   <!-- The version number to assign to the Maven artifacts. -->
@@ -267,6 +269,51 @@
     </sequential>
   </macrodef>
 
+  <macrodef name="sign-artifact" description="Signs the artifact">
+    <attribute name="input.file"/>
+    <attribute name="output.file" default="@{input.file}.asc"/>
+    <!--<attribute name="password.file" default="${user.home}/.pwd.txt"/>-->
+    <sequential>
+      <echo >Signing @{input.file} Sig File: @{output.file}</echo><!--Pass: @{password.file}-->
+
+      <exec executable="gpg" > <!--input="@{password.file}"-->
+        <arg value="--armor"/>
+        <arg value="--output"/>
+        <arg value="@{output.file}"/>
+        <arg value="--detach-sig"/>
+        <arg value="@{input.file}"/>
+      </exec>
+    </sequential>
+  </macrodef>
+
+  <!--
+   We need to sign:
+   The POM
+   The library jar
+   The sources jar
+   the javadoc jar
+   -->
+  <macrodef name="sign-maven-artifacts" description="Signs maven artifacts">
+    <attribute name="artifact.id"/>
+    <attribute name="prefix.dir" default="${maven.dist.prefix}"/>
+    <attribute name="maven.version" default="${maven_version}"/>
+    <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}-javadoc.jar"/>
+      <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}-sources.jar"/>
+    </sequential>
+  </macrodef>
+
+  <macrodef name="sign-maven-dependency-artifacts" description="Signs maven artifacts">
+    <attribute name="artifact.id"/>
+    <attribute name="prefix.dir" default="${maven.dist.prefix}"/>
+    <attribute name="maven.version" default="${maven_version}"/>
+    <sequential>
+      <sign-artifact input.file="@{prefix.dir}/@{artifact.id}/@{maven.version}/@{artifact.id}-@{maven.version}.jar"/>
+    </sequential>
+  </macrodef>
+
+
   <target name="clean-contrib"
 	          description="Cleans all contrib modules and their tests">
 	<contrib-crawl target="clean"/>