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 2013/10/04 20:28:05 UTC

svn commit: r1529248 - in /lucene/dev/branches/branch_4x: ./ lucene/ lucene/tools/ lucene/tools/src/java/ lucene/tools/src/java/org/apache/lucene/validation/

Author: sarowe
Date: Fri Oct  4 18:28:04 2013
New Revision: 1529248

URL: http://svn.apache.org/r1529248
Log:
LUCENE-5257: Lock down centralized versioning of ivy dependencies (merged trunk r1529243 and r1529246)

Added:
    lucene/dev/branches/branch_4x/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java
      - copied unchanged from r1529243, lucene/dev/trunk/lucene/tools/src/java/org/apache/lucene/validation/LibVersionsCheckTask.java
Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/build.xml
    lucene/dev/branches/branch_4x/lucene/   (props changed)
    lucene/dev/branches/branch_4x/lucene/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/lucene/build.xml   (contents, props changed)
    lucene/dev/branches/branch_4x/lucene/ivy-versions.properties   (contents, props changed)
    lucene/dev/branches/branch_4x/lucene/tools/   (props changed)
    lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml
    lucene/dev/branches/branch_4x/lucene/tools/src/java/lucene-solr.antlib.xml

Modified: lucene/dev/branches/branch_4x/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/build.xml?rev=1529248&r1=1529247&r2=1529248&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/build.xml (original)
+++ lucene/dev/branches/branch_4x/build.xml Fri Oct  4 18:28:04 2013
@@ -68,6 +68,7 @@
       <fileset dir="lucene" includes="build.xml" />
       <fileset dir="solr" includes="build.xml" />
     </subant>
+    <subant buildpath="lucene" target="check-lib-versions" inheritall="false" failonerror="true"/>
   </target>
   
   <target name="-validate-source-patterns" unless="disable.source-patterns">

Modified: lucene/dev/branches/branch_4x/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/CHANGES.txt?rev=1529248&r1=1529247&r2=1529248&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/lucene/CHANGES.txt Fri Oct  4 18:28:04 2013
@@ -90,6 +90,9 @@ Build
 
 * LUCENE-5249: All Lucene/Solr modules should use the same dependency versions
   (Steve Rowe)
+  
+* LUCENE-5257: Lock down centralized versioning of ivy dependencies
+  (Steve Rowe)
 
 ======================= Lucene 4.5.0 =======================
 

Modified: lucene/dev/branches/branch_4x/lucene/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/build.xml?rev=1529248&r1=1529247&r2=1529248&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/build.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/build.xml Fri Oct  4 18:28:04 2013
@@ -169,6 +169,11 @@
     </license-check-macro>
   </target>
 
+  <target name="check-lib-versions" depends="compile-tools,resolve,load-custom-tasks"
+          description="Verify that the '/org/name' keys in ivy-versions.properties are sorted lexically and are neither duplicates nor orphans, and that all dependencies in all ivy.xml files use rev=&quot;$${/org/name}&quot; format.">
+    <lib-versions-check-macro dir="${common.dir}/.." centralized.versions.file="${common.dir}/ivy-versions.properties"/>
+  </target>
+
   <target name="check-forbidden-apis" depends="compile-tools,compile-test,install-forbidden-apis,-forbidden-apis-classpath,-check-forbidden-jdk-apis,-check-forbidden-test-apis,-check-system-out" description="Check forbidden API calls in compiled class files"/>
 
   <!-- TODO: Make the forbidden API checks per module! -->

Modified: lucene/dev/branches/branch_4x/lucene/ivy-versions.properties
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/ivy-versions.properties?rev=1529248&r1=1529247&r2=1529248&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/ivy-versions.properties (original)
+++ lucene/dev/branches/branch_4x/lucene/ivy-versions.properties Fri Oct  4 18:28:04 2013
@@ -1,6 +1,13 @@
+# The /org/name keys in this file must be kept lexically sorted.
+# Blank lines, comment lines, and keys that aren't in /org/name format are ignored
+# when the lexical sort check is performed by the ant check-lib-versions target.
+
 /cglib/cglib-nodep = 2.2
-/com.carrotsearch.randomizedtesting/junit4-ant = 2.0.10
-/com.carrotsearch.randomizedtesting/randomizedtesting-runner = 2.0.10
+
+com.carrotsearch.randomizedtesting.version = 2.0.10
+/com.carrotsearch.randomizedtesting/junit4-ant = ${com.carrotsearch.randomizedtesting.version}
+/com.carrotsearch.randomizedtesting/randomizedtesting-runner = ${com.carrotsearch.randomizedtesting.version}
+
 /com.carrotsearch/hppc = 0.5.2
 /com.cybozu.labs/langdetect = 1.1-20120112
 /com.drewnoakes/metadata-extractor = 2.6.2
@@ -43,80 +50,116 @@
 /org.apache.ant/ant = 1.8.2
 /org.apache.commons/commons-compress = 1.4.1
 /org.apache.derby/derby = 10.9.1.0
-hadoop.version = 2.0.5-alpha
-/org.apache.hadoop/hadoop-annotations = ${hadoop.version}
-/org.apache.hadoop/hadoop-auth = ${hadoop.version}
-/org.apache.hadoop/hadoop-common = ${hadoop.version}
-/org.apache.hadoop/hadoop-hdfs = ${hadoop.version}
-/org.apache.httpcomponents/httpclient = 4.2.3
+
+org.apache.hadoop.version = 2.0.5-alpha
+/org.apache.hadoop/hadoop-annotations = ${org.apache.hadoop.version}
+/org.apache.hadoop/hadoop-auth = ${org.apache.hadoop.version}
+/org.apache.hadoop/hadoop-common = ${org.apache.hadoop.version}
+/org.apache.hadoop/hadoop-hdfs = ${org.apache.hadoop.version}
+
+# The httpcore version is often different from the httpclient and httpmime versions,
+# so the httpcore version value should not share the same symbolic name with them.  
 /org.apache.httpcomponents/httpclient = 4.2.6
-/org.apache.httpcomponents/httpcore = 4.2.2
 /org.apache.httpcomponents/httpcore = 4.2.5
 /org.apache.httpcomponents/httpmime = 4.2.6
-/org.apache.james/apache-mime4j-core = 0.7.2
-/org.apache.james/apache-mime4j-dom = 0.7.2
+
+org.apache.james.apache.mime4j = 0.7.2
+/org.apache.james/apache-mime4j-core = ${org.apache.james.apache.mime4j}
+/org.apache.james/apache-mime4j-dom = ${org.apache.james.apache.mime4j}
+
 /org.apache.mahout/mahout-collections = 1.0
 /org.apache.mahout/mahout-math = 0.6
-/org.apache.pdfbox/fontbox = 1.8.1
-/org.apache.pdfbox/jempbox = 1.8.1
-/org.apache.pdfbox/pdfbox = 1.8.1
-/org.apache.poi/poi = 3.9
-/org.apache.poi/poi-ooxml = 3.9
-/org.apache.poi/poi-ooxml-schemas = 3.9
-/org.apache.poi/poi-scratchpad = 3.9
-/org.apache.tika/tika-core = 1.4
-/org.apache.tika/tika-parsers = 1.4
-/org.apache.uima/AlchemyAPIAnnotator = 2.3.1
-/org.apache.uima/OpenCalaisAnnotator = 2.3.1
-/org.apache.uima/Tagger = 2.3.1
-/org.apache.uima/WhitespaceTokenizer = 2.3.1
-/org.apache.uima/uimaj-core = 2.3.1
+
+org.apache.pdfbox.version = 1.8.1
+/org.apache.pdfbox/fontbox = ${org.apache.pdfbox.version}
+/org.apache.pdfbox/jempbox = ${org.apache.pdfbox.version}
+/org.apache.pdfbox/pdfbox = ${org.apache.pdfbox.version}
+
+org.apache.poi.version = 3.9
+/org.apache.poi/poi = ${org.apache.poi.version}
+/org.apache.poi/poi-ooxml = ${org.apache.poi.version}
+/org.apache.poi/poi-ooxml-schemas = ${org.apache.poi.version}
+/org.apache.poi/poi-scratchpad = ${org.apache.poi.version}
+
+org.apache.tika.version = 1.4
+/org.apache.tika/tika-core = ${org.apache.tika.version}
+/org.apache.tika/tika-parsers = ${org.apache.tika.version}
+
+org.apache.uima.version = 2.3.1
+/org.apache.uima/AlchemyAPIAnnotator = ${org.apache.uima.version}
+/org.apache.uima/OpenCalaisAnnotator = ${org.apache.uima.version}
+/org.apache.uima/Tagger = ${org.apache.uima.version}
+/org.apache.uima/WhitespaceTokenizer = ${org.apache.uima.version}
+/org.apache.uima/uimaj-core = ${org.apache.uima.version}
+
 /org.apache.velocity/velocity = 1.7
 /org.apache.velocity/velocity-tools = 2.0
 /org.apache.xmlbeans/xmlbeans = 2.3.0
 /org.apache.zookeeper/zookeeper = 3.4.5
-/org.bouncycastle/bcmail-jdk15 = 1.45
-/org.bouncycastle/bcprov-jdk15 = 1.45
+
+org.bouncycastle.version = 1.45
+/org.bouncycastle/bcmail-jdk15 = ${org.bouncycastle.version}
+/org.bouncycastle/bcprov-jdk15 = ${org.bouncycastle.version}
+
 /org.carrot2.attributes/attributes-binder = 1.2.0
 /org.carrot2/carrot2-mini = 3.8.0
-/org.carrot2/morfologik-fsa = 1.7.1
-/org.carrot2/morfologik-polish = 1.7.1
-/org.carrot2/morfologik-stemming = 1.7.1
+
+org.carrot2.morfologik.version = 1.7.1
+/org.carrot2/morfologik-fsa = ${org.carrot2.morfologik.version}
+/org.carrot2/morfologik-polish = ${org.carrot2.morfologik.version}
+/org.carrot2/morfologik-stemming = ${org.carrot2.morfologik.version}
+
 /org.ccil.cowan.tagsoup/tagsoup = 1.2.1
-/org.codehaus.jackson/jackson-core-asl = 1.7.4
-/org.codehaus.jackson/jackson-mapper-asl = 1.7.4
+
+org.codehaus.jackson.version = 1.7.4
+/org.codehaus.jackson/jackson-core-asl = ${org.codehaus.jackson.version}
+/org.codehaus.jackson/jackson-mapper-asl = ${org.codehaus.jackson.version}
+
 /org.codehaus.woodstox/wstx-asl = 3.2.7
 /org.easymock/easymock = 3.0
 /org.eclipse.jetty.orbit/javax.servlet = 3.0.0.v201112011016
-jetty.version = 8.1.10.v20130312
-/org.eclipse.jetty/jetty-continuation = ${jetty.version}
-/org.eclipse.jetty/jetty-deploy = ${jetty.version}
-/org.eclipse.jetty/jetty-http = ${jetty.version}
-/org.eclipse.jetty/jetty-io = ${jetty.version}
-/org.eclipse.jetty/jetty-jmx = ${jetty.version}
-/org.eclipse.jetty/jetty-security = ${jetty.version}
-/org.eclipse.jetty/jetty-server = ${jetty.version}
-/org.eclipse.jetty/jetty-servlet = ${jetty.version}
-/org.eclipse.jetty/jetty-start = ${jetty.version}
-/org.eclipse.jetty/jetty-util = ${jetty.version}
-/org.eclipse.jetty/jetty-webapp = ${jetty.version}
-/org.eclipse.jetty/jetty-xml = ${jetty.version}
-/org.gagravarr/vorbis-java-core = 0.1
-/org.gagravarr/vorbis-java-tika = 0.1
-/org.mortbay.jetty/jetty = 6.1.26
-/org.mortbay.jetty/jetty-util = 6.1.26
+
+org.eclipse.jetty.version = 8.1.10.v20130312
+/org.eclipse.jetty/jetty-continuation = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-deploy = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-http = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-io = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-jmx = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-security = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-server = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-servlet = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-start = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-util = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-webapp = ${org.eclipse.jetty.version}
+/org.eclipse.jetty/jetty-xml = ${org.eclipse.jetty.version}
+
+org.gagravarr.vorbis.java.version = 0.1
+/org.gagravarr/vorbis-java-core = ${org.gagravarr.vorbis.java.version}
+/org.gagravarr/vorbis-java-tika = ${org.gagravarr.vorbis.java.version}
+
+org.mortbay.jetty.version = 6.1.26
+/org.mortbay.jetty/jetty = ${org.mortbay.jetty.version}
+/org.mortbay.jetty/jetty-util = ${org.mortbay.jetty.version}
+
 /org.noggit/noggit = 0.5
 /org.objenesis/objenesis = 1.2
-/org.ow2.asm/asm = 4.1
-/org.ow2.asm/asm-commons = 4.1
-/org.restlet.jee/org.restlet = 2.1.1
-/org.restlet.jee/org.restlet.ext.servlet = 2.1.1
+
+org.ow2.asm.version = 4.1
+/org.ow2.asm/asm = ${org.ow2.asm.version}
+/org.ow2.asm/asm-commons = ${org.ow2.asm.version}
+
+org.restlet.jee.version = 2.1.1
+/org.restlet.jee/org.restlet = ${org.restlet.jee.version}
+/org.restlet.jee/org.restlet.ext.servlet = ${org.restlet.jee.version}
+
 /org.simpleframework/simple-xml = 2.7
-/org.slf4j/jcl-over-slf4j = 1.6.6
-/org.slf4j/jul-to-slf4j = 1.6.6
-/org.slf4j/slf4j-api = 1.6.6
-/org.slf4j/slf4j-log4j12 = 1.6.6
+
+org.slf4j.version = 1.6.6
+/org.slf4j/jcl-over-slf4j = ${org.slf4j.version}
+/org.slf4j/jul-to-slf4j = ${org.slf4j.version}
+/org.slf4j/slf4j-api = ${org.slf4j.version}
+/org.slf4j/slf4j-log4j12 = ${org.slf4j.version}
+
 /org.tukaani/xz = 1.0
 /rome/rome = 0.9
 /xerces/xercesImpl = 2.9.1
-

Modified: lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml?rev=1529248&r1=1529247&r2=1529248&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml Fri Oct  4 18:28:04 2013
@@ -84,4 +84,29 @@
       </licenses>
     </sequential>
   </macrodef>
+
+  <macrodef name="lib-versions-check-macro">
+    <attribute name="dir"/>
+    <attribute name="centralized.versions.file"/>
+    <sequential>
+      <!-- 
+        Verify that the '/org/name' keys in ivy-versions.properties are sorted
+        lexically and are neither duplicates nor orphans, and that all
+         dependencies in all ivy.xml files use rev="${/org/name}" format.
+        -->
+      <echo>Lib versions check under: @{dir}</echo>
+      <libversions centralizedVersionsFile="@{centralized.versions.file}">
+        <fileset dir="@{dir}">
+          <include name="**/ivy.xml" />
+          <!-- Speed up scanning a bit. -->
+          <exclude name="**/.git/**" />
+          <exclude name="**/.svn/**" />
+          <exclude name="**/bin/**" />
+          <exclude name="**/build/**" />
+          <exclude name="**/dist/**" />
+          <exclude name="**/src/**" />
+        </fileset>
+      </libversions>
+    </sequential>
+  </macrodef>
 </project>

Modified: lucene/dev/branches/branch_4x/lucene/tools/src/java/lucene-solr.antlib.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/tools/src/java/lucene-solr.antlib.xml?rev=1529248&r1=1529247&r2=1529248&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/tools/src/java/lucene-solr.antlib.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/tools/src/java/lucene-solr.antlib.xml Fri Oct  4 18:28:04 2013
@@ -18,4 +18,7 @@
     <taskdef 
         name="licenses" 
         classname="org.apache.lucene.validation.LicenseCheckTask" />
+    <taskdef
+        name="libversions"
+        classname="org.apache.lucene.validation.LibVersionsCheckTask" />
 </antlib>