You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sa...@apache.org on 2011/03/19 17:34:19 UTC

svn commit: r1083213 - in /lucene/dev/trunk: lucene/build.xml solr/build.xml

Author: sarowe
Date: Sat Mar 19 16:34:19 2011
New Revision: 1083213

URL: http://svn.apache.org/viewvc?rev=1083213&view=rev
Log:
LUCENE-2973: Use 'svn export' for Solr's package-src and Lucene's dist-src targets; stop producing .zip versions of Lucene/Solr source packages.

Modified:
    lucene/dev/trunk/lucene/build.xml
    lucene/dev/trunk/solr/build.xml

Modified: lucene/dev/trunk/lucene/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/build.xml?rev=1083213&r1=1083212&r2=1083213&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/build.xml (original)
+++ lucene/dev/trunk/lucene/build.xml Sat Mar 19 16:34:19 2011
@@ -45,10 +45,6 @@
     <pathelement path="${java.class.path}"/>
   </path>
 
-  <patternset id="src.dist.patterns"
-              includes="src/,build.xml,*build*.xml,docs/,*.txt,contrib/,*pom.xml*,lib/,backwards/"
-              excludes="contrib/db/*/lib/,contrib/*/ext-libs/,src/site/build/"
-  />
   <patternset id="binary.build.dist.patterns"
               includes="${final.name}*.jar,docs/,contrib/*/*.jar,contrib/*/*.war, contrib/*/*/*.jar"
   />
@@ -339,57 +335,60 @@
         <mkdir dir="${dist.dir}"/>
         <mkdir dir="${maven.dist.dir}"/>
     </target>
-  <!-- ================================================================== -->
-  <!-- Packages the sources with zip                                      -->
-  <!-- ================================================================== -->
-  <!--                                                                    -->
-  <!-- ================================================================== -->
-  <target name="package-zip-src" depends="init, init-dist"
-    description="--> Generates the Lucene sources as .zip">
-    <zip destfile="${dist.dir}/lucene-${version}-src.zip">
-      <zipfileset prefix="lucene-${version}" dir=".">
-        <patternset refid="src.dist.patterns"/>
-      </zipfileset>
-    </zip>
-	<lucene-checksum file="${dist.dir}/lucene-${version}-src.zip"/>
-  </target>
+
+
+  <property name="svn.export.dir" location="${build.dir}/svn-export"/>
 
   <!-- ================================================================== -->
-  <!-- Packages the sources with tar-gzip                                 -->
-  <!-- ================================================================== -->
-  <!--                                                                    -->
+  <!-- Packages the sources from "svn export" with tar-gzip               -->
   <!-- ================================================================== -->
-  <target name="package-tgz-src" depends="init, init-dist"
+  <target name="package-tgz-src" depends="init, init-dist, svn-export-source"
     description="--> Generates the Lucene distribution as .tar.gz">
-
-    <delete file="${build.dir}/lucene-${version}-src.tar"/>
-    <delete file="${dist.dir}/lucene-${version}-src.tar.gz"/>
-    <tar tarfile="${build.dir}/lucene-${version}-src.tar" longfile="gnu">
-      <tarfileset prefix="lucene-${version}" dir=".">
-        <patternset refid="src.dist.patterns"/>
-      </tarfileset>
+    <property name="source.package.file"
+              value="${dist.dir}/lucene-${version}-src.tar.gz"/>
+    <delete file="${source.package.file}"/>
+    <tar tarfile="${source.package.file}" compression="gzip" longfile="gnu">
+      <tarfileset prefix="lucene-${version}" dir="${svn.export.dir}"/>
     </tar>
-
-    <gzip zipfile="${dist.dir}/lucene-${version}-src.tar.gz"
-          src="${build.dir}/lucene-${version}-src.tar"
-    />
-	<lucene-checksum file="${dist.dir}/lucene-${version}-src.tar.gz"/>
+  	<lucene-checksum file="${source.package.file}"/>
   </target>
 
   <!-- ================================================================== -->
-  <!-- Packages the sources with zip and tar-gzip                         -->
+  <!-- Runs "svn export" in build/svn-export/ with the same URL           -->
+  <!-- and revision as the current working copy.                          -->
   <!-- ================================================================== -->
-  <!--                                                                    -->
-  <!-- ================================================================== -->
-  <target name="package-all-src" depends="package-zip-src, package-tgz-src"
-    description="--> Generates the .tar.gz and .zip source distributions"/>
+  <target name="svn-export-source" depends="get-svn-info">
+    <delete dir="${svn.export.dir}" includeemptydirs="true" failonerror="false"/>
+    <mkdir dir="${build.dir}"/>
+    <exec dir="." executable="svn" failonerror="true">
+      <arg line="export -r ${svn.Revision} ${svn.URL} ${svn.export.dir}"/>
+    </exec>
+  </target>
 
   <!-- ================================================================== -->
-  <!-- same as package-all-src. it is just here for compatibility.        -->
+  <!-- Populates properties svn.URL and svn.Revision using "svn info".    -->
   <!-- ================================================================== -->
-  <!--                                                                    -->
+  <target name="get-svn-info">
+    <exec dir="." executable="svn" outputproperty="svn.info" failonerror="true">
+      <arg value="info"/>
+    </exec>
+    <loadproperties>
+      <propertyresource name="svn.info"/>
+      <filterchain>
+        <linecontainsregexp>
+          <regexp pattern="(URL|Revision):"/>
+        </linecontainsregexp>
+        <replacestring from=": " to="="/>
+        <prefixlines prefix="svn."/>
+      </filterchain>
+    </loadproperties>
+  </target>
+
+
+  <!-- ================================================================== -->
+  <!-- same as package-tgz-src. it is just here for compatibility.        -->
   <!-- ================================================================== -->
-  <target name="dist-src" depends="package-all-src"/>
+  <target name="dist-src" depends="package-tgz-src"/>
 
   <target name="dist-all" depends="dist, dist-src"/>
 

Modified: lucene/dev/trunk/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/build.xml?rev=1083213&r1=1083212&r2=1083213&view=diff
==============================================================================
--- lucene/dev/trunk/solr/build.xml (original)
+++ lucene/dev/trunk/solr/build.xml Sat Mar 19 16:34:19 2011
@@ -739,91 +739,50 @@
   <!-- make a distribution -->
   <target name="package" depends="package-src,create-package"/>
 
-  <!-- copied from lucene build.xml -->
-  <patternset id="src.dist.patterns"
-              includes="src/,build.xml,*build*.xml,docs/,*.txt,contrib/,*pom.xml*,lib/,backwards/"
-              excludes="contrib/db/*/lib/,contrib/*/ext-libs/,src/site/build/"
-  />
-
-  <target name="package-src"
-          description="Packages the Solr Source Distribution"
-          depends="dist">
-    <mkdir dir="${package.dir}"/>
-
-    <delete includeemptydirs="true">
-      <fileset dir="${example}/work" includes="**/*"/>
-    </delete>
-
-    <delete includeemptydirs="true" failonerror="false">
-      <fileset dir="${dest}/${fullnamever}" includes="**/*"/>
-    </delete>
- 
-    <delete file="${package.dir}/${fullnamever}-src.tgz" failonerror="false" />
-    <delete file="${package.dir}/${fullnamever}-src.zip" failonerror="false" />
+  <property name="svn.export.dir" location="${dest}/svn-export"/>
 
-    <tar destfile="${package.dir}/${fullnamever}-src.tgz" compression="gzip" longfile="gnu">
-      <tarfileset dir=".."
-        prefix="${fullnamever}"
-        includes="*.txt *.xml dev-tools/" />
-      <tarfileset dir="." 
-        prefix="${fullnamever}"
-        includes="LICENSE.txt NOTICE.txt"/>
-      <tarfileset dir="."
-        prefix="${fullnamever}/solr"
-        includes="LICENSE.txt NOTICE.txt *.txt *.xml lib/** src/** example/** client/** contrib/ site/"
-        excludes="${package.dir}/** ${dist}/** **/lucene-libs/** example/webapps/*.war example/exampledocs/post.jar lib/README.committers.txt **/data/ **/logs/* **/classes/ **/*.sh **/bin/ src/scripts/ src/site/build/ **/target/ client/python client/javascript contrib/**/build/ **/*.iml **/*.ipr **/*.iws" />
-      <tarfileset dir="."
-        prefix="${fullnamever}/solr"
-        includes="src/test-files/solr/lib/classes/empty-file-main-lib.txt" />
-      <tarfileset dir="."
-        mode="755"
-        prefix="${fullnamever}/solr"
-        includes="**/*.sh **/bin/ src/scripts/" />
-      <tarfileset dir="../lucene" prefix="${fullnamever}/lucene">
-        <patternset refid="src.dist.patterns"/>
-      </tarfileset>
-      <tarfileset dir="../modules"
-        prefix="${fullnamever}/modules"
-        excludes="**/build/" />
+  <!-- Makes a tarball from running "svn export" at the root level.    -->
+  <!-- Copies NOTICE.txt and LICENSE.txt from solr/ to the root level. -->
+  <target name="package-src" depends="svn-export-source"
+          description="Packages the Solr Source Distribution">
+    <mkdir dir="${package.dir}"/>
+    <property name="source.package.file"
+              value="${package.dir}/${fullnamever}-src.tgz"/>
+    <delete file="${source.package.file}" failonerror="false" />
+    <tar destfile="${source.package.file}" compression="gzip" longfile="gnu">
+      <tarfileset dir="${svn.export.dir}" prefix="${fullnamever}"/>
+      <tarfileset dir="${svn.export.dir}/solr" prefix="${fullnamever}"
+                  includes="NOTICE.txt,LICENSE.txt"/>
     </tar>
-    <solr-checksum file="${package.dir}/${fullnamever}-src.tgz"/>
-
-    <gunzip src="${package.dir}/${fullnamever}-src.tgz" dest="${dest}/${fullnamever}-src.tar"/>
-    <untar src="${dest}/${fullnamever}-src.tar" dest="${dest}"/>
-
-    <!--
-      This is a list of text file patterns to convert to CRLF line-ending style.
-      Shell scripts and files included in shell scripts should not be converted.
-      NB: The line-ending conversion process will mangle non-UTF8-encoded files.
-     -->
-    <fixcrlf srcdir="${dest}/${fullnamever}"
-       encoding="UTF-8"
-       eol="crlf"
-       includes="**/*.alg **/*.cgi **/*.cpp **/*.css **/*.csv **/*.dtd **/*.erb
-                 **/*.fcgi **/.htaccess **/*.htm **/*.html **/*.incl **/*.java
-                 **/*.javacc **/*.jflex **/*.jflex-macro **/*.jj **/*.js
-                 **/*.json **/*.jsp **/*LICENSE **/*.pl **/*.pom
-                 **/*pom.xml.template **/*.properties **/*.py **/*.rake
-                 **/Rakefile **/*.rb **/*.rbbi **/README **/README.* **/*.rhtml
-                 **/*.rslp **/*.rxml **/*.script **/*.svg **/*.tsv **/*.txt
-                 **/UPGRADING **/USAGE **/*.uxf **/*.vm **/*.xcat **/*.xml
-                 **/*.xsl **/*.xslt **/*.yml"
-       excludes="**/stopwordsWrongEncoding.txt **/gb18030-example.xml"
-     />
-
-    <zip destfile="${package.dir}/${fullnamever}-src.zip">
-      <zipfileset dir="${dest}/${fullnamever}"
-        prefix="${fullnamever}" 
-        excludes="**/*.sh **/bin/ src/scripts/" />
-      <zipfileset dir="${dest}/${fullnamever}"
-        prefix="${fullnamever}"
-        includes="**/*.sh **/bin/ src/scripts/"
-        filemode="755" />
-    </zip>
-    <solr-checksum file="${package.dir}/${fullnamever}-src.zip"/>
+    <solr-checksum file="${source.package.file}"/>
+  </target>
 
+  <!-- Runs "svn export" in build/svn-export/ with the same root-level URL -->
+  <!-- and revision as the current working copy.                           -->
+  <target name="svn-export-source" depends="get-svn-info">
+    <delete dir="${svn.export.dir}" includeemptydirs="true" failonerror="false"/>
+    <mkdir dir="${dest}"/>
+    <exec dir="." executable="svn" failonerror="true">
+      <arg line="checkout -r ${svn.Revision} ${svn.URL} ${svn.export.dir}"/>
+    </exec>
   </target>
 
+  <!-- Populates properties svn.URL and svn.Revision using "svn info" -->
+  <target name="get-svn-info">
+    <exec dir=".." executable="svn" outputproperty="svn.info" failonerror="true">
+      <arg value="info"/>
+    </exec>
+    <loadproperties>
+      <propertyresource name="svn.info"/>
+      <filterchain>
+        <linecontainsregexp>
+          <regexp pattern="(URL|Revision):"/>
+        </linecontainsregexp>
+        <replacestring from=": " to="="/>
+        <prefixlines prefix="svn."/>
+      </filterchain>
+    </loadproperties>
+  </target>
 
   <target name="create-package"
           description="Packages the Solr Binary Distribution"
@@ -917,7 +876,6 @@
     <sign-artifact input.file="${package.dir}/${fullnamever}.tgz" output.file="${package.dir}/${fullnamever}.tgz.asc" gpg.passphrase="${gpg.passphrase}"/>
     <sign-artifact input.file="${package.dir}/${fullnamever}.zip" output.file="${package.dir}/${fullnamever}.zip.asc" gpg.passphrase="${gpg.passphrase}"/>
     <sign-artifact input.file="${package.dir}/${fullnamever}-src.tgz" output.file="${package.dir}/${fullnamever}-src.tgz.asc" gpg.passphrase="${gpg.passphrase}"/>
-    <sign-artifact input.file="${package.dir}/${fullnamever}-src.zip" output.file="${package.dir}/${fullnamever}-src.zip.asc" gpg.passphrase="${gpg.passphrase}"/>
 
     <!-- Maven artifacts -->
     <sign-maven-dependency-artifacts artifact.id="solr-commons-csv" gpg.passphrase="${gpg.passphrase}"/>