You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2012/09/06 15:54:16 UTC
svn commit: r1381603 - in /lucene/dev/branches/branch_4x: ./ build.xml
lucene/ lucene/analysis/ lucene/analysis/build.xml lucene/build.xml
lucene/common-build.xml lucene/tools/ lucene/tools/custom-tasks.xml solr/
solr/build.xml solr/common-build.xml
Author: rmuir
Date: Thu Sep 6 13:54:16 2012
New Revision: 1381603
URL: http://svn.apache.org/viewvc?rev=1381603&view=rev
Log:
add validate-maven task to check maven dependencies, fix redundant dependencies in generate-maven-artifacts
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/analysis/ (props changed)
lucene/dev/branches/branch_4x/lucene/analysis/build.xml
lucene/dev/branches/branch_4x/lucene/build.xml (contents, props changed)
lucene/dev/branches/branch_4x/lucene/common-build.xml (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/solr/ (props changed)
lucene/dev/branches/branch_4x/solr/build.xml (contents, props changed)
lucene/dev/branches/branch_4x/solr/common-build.xml (contents, props changed)
Modified: lucene/dev/branches/branch_4x/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/build.xml?rev=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/build.xml (original)
+++ lucene/dev/branches/branch_4x/build.xml Thu Sep 6 13:54:16 2012
@@ -91,6 +91,13 @@
</subant></sequential>
</target>
+ <target name="validate-maven-dependencies" description="Validates maven dependencies, licenses, etc">
+ <subant target="validate-maven-dependencies" inheritall="false" failonerror="true">
+ <fileset dir="lucene" includes="build.xml"/>
+ <fileset dir="solr" includes="build.xml"/>
+ </subant>
+ </target>
+
<target name="resolve" depends="clean-jars" description="Resolves all dependencies">
<sequential><subant target="resolve" inheritall="false" failonerror="true">
<fileset dir="lucene" includes="build.xml" />
Modified: lucene/dev/branches/branch_4x/lucene/analysis/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/analysis/build.xml?rev=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/analysis/build.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/analysis/build.xml Thu Sep 6 13:54:16 2012
@@ -45,6 +45,7 @@
<propertyset id="uptodate.and.compiled.properties" dynamic="true">
<propertyref regex=".*\.uptodate$$"/>
<propertyref regex=".*\.compiled$$"/>
+ <propertyref regex=".*\.loaded$$"/>
</propertyset>
<target name="common">
@@ -106,10 +107,14 @@
<target name="build-artifacts-and-tests" depends="default,compile-test" />
- <target name="dist-maven" depends="default,javadocs">
+ <target name="dist-maven">
<forall-analyzers target="dist-maven"/>
</target>
+ <target name="-validate-maven-dependencies">
+ <forall-analyzers target="-validate-maven-dependencies"/>
+ </target>
+
<target name="javadocs">
<forall-analyzers target="javadocs"/>
</target>
Modified: lucene/dev/branches/branch_4x/lucene/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/build.xml?rev=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/build.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/build.xml Thu Sep 6 13:54:16 2012
@@ -442,12 +442,8 @@
</target>
-
- <!-- TODO: these dependencies are bogus: we only
- call this from prepare-release so it shouldn't require
- 'package' and 'javadocs' again -->
- <target name="generate-maven-artifacts"
- depends="install-maven-tasks, filter-pom-templates, package, javadocs">
+ <!-- install-maven-tasks is *not* a useless dependency. do not remove -->
+ <target name="generate-maven-artifacts" depends="install-maven-tasks">
<sequential>
<subant target="dist-maven" failonerror="true" inheritall="false">
<propertyset refid="uptodate.and.compiled.properties"/>
@@ -459,6 +455,18 @@
</sequential>
</target>
+ <target name="validate-maven-dependencies" depends="compile-tools, generate-maven-artifacts, load-custom-tasks">
+ <sequential>
+ <subant target="-validate-maven-dependencies" failonerror="true" inheritall="false">
+ <propertyset refid="uptodate.and.compiled.properties"/>
+ <fileset dir="${common.dir}/core" includes="build.xml"/>
+ <fileset dir="${common.dir}/test-framework" includes="build.xml"/>
+ </subant>
+
+ <modules-crawl target="-validate-maven-dependencies"/>
+ </sequential>
+ </target>
+
<!-- ================================================================== -->
<!-- support for signing the artifacts using gpg -->
<!-- ================================================================== -->
Modified: lucene/dev/branches/branch_4x/lucene/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/lucene/common-build.xml?rev=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/common-build.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/common-build.xml Thu Sep 6 13:54:16 2012
@@ -19,7 +19,8 @@
<project name="common" xmlns:artifact="antlib:org.apache.maven.artifact.ant"
xmlns:ivy="antlib:org.apache.ivy.ant"
- xmlns:junit4="antlib:com.carrotsearch.junit4">
+ xmlns:junit4="antlib:com.carrotsearch.junit4"
+ xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors">
<description>
This file is designed for importing into a main build file, and not intended
for standalone use.
@@ -29,6 +30,7 @@
<property name="dev-tools.dir" value="${common.dir}/../dev-tools"/>
<property name="prettify.dir" value="${common.dir}/tools/prettify"/>
<property name="maven.build.dir" value="${build.dir}/maven"/>
+ <property name="license.dir" value="${common.dir}/licenses"/>
<!-- Give user a chance to override without editing this file
(and without typing -D each time it compiles it -->
@@ -172,6 +174,7 @@
<property name="maven.dist.dir" location="${dist.dir}/maven"/>
<makeurl file="${maven.dist.dir}" property="m2.repository.url" validate="false"/>
<property name="m2.repository.private.key" value="${user.home}/.ssh/id_dsa"/>
+ <property name="m2.repository.id" value="local"/>
<property name="jflex.home" location="${common.dir}"/>
@@ -233,6 +236,7 @@
<propertyset id="uptodate.and.compiled.properties" dynamic="true">
<propertyref regex=".*\.uptodate$$"/>
<propertyref regex=".*\.compiled$$"/>
+ <propertyref regex=".*\.loaded$$"/>
</propertyset>
<patternset id="lucene.local.src.package.patterns"
@@ -457,6 +461,39 @@
</sequential>
</macrodef>
+ <!-- validate maven dependencies -->
+ <macrodef name="m2-validate-dependencies">
+ <attribute name="pom.xml"/>
+ <attribute name="licenseDirectory"/>
+ <element name="excludes" optional="true"/>
+ <element name="additional-filters" optional="true"/>
+ <sequential>
+ <artifact:dependencies filesetId="maven.fileset" useScope="test" type="jar">
+ <artifact:pom file="@{pom.xml}"/>
+ <remoteRepository id="apache.snapshots" url="${m2.repository.url}">
+ <snapshots enabled="true" updatePolicy="always"/>
+ <releases enabled="false"/>
+ </remoteRepository>
+ </artifact:dependencies>
+ <licenses licenseDirectory="@{licenseDirectory}">
+ <restrict>
+ <fileset refid="maven.fileset"/>
+ <rsel:not>
+ <excludes/>
+ </rsel:not>
+ </restrict>
+ <licenseMapper>
+ <chainedmapper>
+ <filtermapper refid="license-mapper-defaults"/>
+ <filtermapper>
+ <additional-filters/>
+ </filtermapper>
+ </chainedmapper>
+ </licenseMapper>
+ </licenses>
+ </sequential>
+ </macrodef>
+
<macrodef name="build-manifest" description="Builds a manifest file">
<attribute name="title"/>
<attribute name="implementation.title"/>
@@ -1232,6 +1269,24 @@ ${tests-output}/junit4-*.suites - pe
</sequential>
</target>
+ <target name="-validate-maven-dependencies">
+ <property name="top.level.dir" location="${common.dir}/.."/>
+ <pathconvert property="pom.xml">
+ <mapper>
+ <chainedmapper>
+ <globmapper from="${top.level.dir}*" to="${filtered.pom.templates.dir}*"/>
+ <globmapper from="*build.xml" to="*pom.xml"/>
+ </chainedmapper>
+ </mapper>
+ <path location="${ant.file}"/>
+ </pathconvert>
+ <m2-validate-dependencies pom.xml="${pom.xml}" licenseDirectory="${license.dir}">
+ <excludes>
+ <rsel:name name="**/lucene-*.jar" handledirsep="true"/>
+ </excludes>
+ </m2-validate-dependencies>
+ </target>
+
<target name="filter-pom-templates" unless="filtered.pom.templates.uptodate">
<mkdir dir="${filtered.pom.templates.dir}"/>
<copy todir="${common.dir}/build/poms" overwrite="true">
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=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml (original)
+++ lucene/dev/branches/branch_4x/lucene/tools/custom-tasks.xml Thu Sep 6 13:54:16 2012
@@ -16,6 +16,23 @@
<property name="custom-tasks.loaded" value="true"/>
</target>
+ <filtermapper id="license-mapper-defaults">
+ <!-- Normalize input paths. -->
+ <replacestring from="\" to="/" />
+ <replaceregex pattern="\.jar$" replace="" flags="gi" />
+
+ <!-- Some typical snapshot/minimalized JAR suffixes. -->
+ <replaceregex pattern="-min$" replace="" flags="gi" />
+ <replaceregex pattern="SNAPSHOT$" replace="" flags="gi" />
+
+ <!-- Typical version patterns. -->
+ <replaceregex pattern="\.rc[0-9]+" replace="" flags="gi" />
+ <replaceregex pattern="\-(r)?([0-9\-\_\.])+(b(eta)?([0-9\-\.])*)?$" replace="" flags="gi" />
+
+ <!-- git hashcode pattern: its always 40 chars right? -->
+ <replaceregex pattern="\-[a-z0-9]{40,40}$" replace="" flags="gi" />
+ </filtermapper>
+
<macrodef name="license-check-macro">
<attribute name="dir" />
<attribute name="licensedir" />
@@ -38,25 +55,13 @@
</fileset>
<licenseMapper>
- <filtermapper id="license-mapper-defaults">
- <!-- Normalize input paths. -->
- <replacestring from="\" to="/" />
- <replaceregex pattern="\.jar$" replace="" flags="gi" />
-
- <!-- Some typical snapshot/minimalized JAR suffixes. -->
- <replaceregex pattern="-min$" replace="" flags="gi" />
- <replaceregex pattern="SNAPSHOT$" replace="" flags="gi" />
-
- <!-- Non-typical version patterns. -->
- <additional-filters />
-
- <!-- Typical version patterns. -->
- <replaceregex pattern="\.rc[0-9]+" replace="" flags="gi" />
- <replaceregex pattern="\-(r)?([0-9\-\_\.])+(b(eta)?([0-9\-\.])*)?$" replace="" flags="gi" />
-
- <!-- git hashcode pattern: its always 40 chars right? -->
- <replaceregex pattern="\-[a-z0-9]{40,40}$" replace="" flags="gi" />
- </filtermapper>
+ <chainedmapper>
+ <filtermapper refid="license-mapper-defaults"/>
+ <filtermapper>
+ <!-- Non-typical version patterns. -->
+ <additional-filters />
+ </filtermapper>
+ </chainedmapper>
</licenseMapper>
</licenses>
</sequential>
Modified: lucene/dev/branches/branch_4x/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/build.xml?rev=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/build.xml (original)
+++ lucene/dev/branches/branch_4x/solr/build.xml Thu Sep 6 13:54:16 2012
@@ -202,7 +202,6 @@
</additional-excludes>
<additional-filters>
<replaceregex pattern="jetty([^/]+)$" replace="jetty" flags="gi" />
- <replaceregex pattern="apache-solr-commons-csv-([^/]+)$" replace="apache-solr-commons-csv" flags="gi" />
<replaceregex pattern="slf4j-([^/]+)$" replace="slf4j" flags="gi" />
<replaceregex pattern="(bcmail|bcprov)-([^/]+)$" replace="\1" flags="gi" />
</additional-filters>
@@ -554,6 +553,7 @@
<check-broken-links dir="build/docs"/>
</target>
+ <!-- install-maven-tasks is *not* a useless dependency. do not remove -->
<target name="generate-maven-artifacts" depends="install-maven-tasks">
<sequential>
<subant target="dist-maven" inheritall="false" >
@@ -566,8 +566,28 @@
<contrib-crawl target="dist-maven"/>
</sequential>
</target>
+
+ <!-- only used by validate below, it needs the lucene artifacts installed: can we do this better?! -->
+ <target name="-generate-lucene-maven-artifacts">
+ <subant target="generate-maven-artifacts" inheritall="false">
+ <propertyset refid="uptodate.and.compiled.properties"/>
+ <fileset dir="${common.dir}" includes="build.xml"/>
+ </subant>
+ </target>
-
+ <target name="validate-maven-dependencies" depends="compile-tools, generate-maven-artifacts, -generate-lucene-maven-artifacts, load-custom-tasks">
+ <sequential>
+ <subant target="-validate-maven-dependencies" failonerror="true" inheritall="false">
+ <propertyset refid="uptodate.and.compiled.properties"/>
+ <fileset dir="core" includes="build.xml"/>
+ <fileset dir="solrj" includes="build.xml"/>
+ <fileset dir="test-framework" includes="build.xml"/>
+ <fileset dir="webapp" includes="build.xml"/>
+ </subant>
+ <contrib-crawl target="-validate-maven-dependencies"/>
+ </sequential>
+ </target>
+
<!-- ========================================================================= -->
<!-- ========================= COMMITTERS' HELPERS =========================== -->
<!-- ========================================================================= -->
Modified: lucene/dev/branches/branch_4x/solr/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/common-build.xml?rev=1381603&r1=1381602&r2=1381603&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/common-build.xml (original)
+++ lucene/dev/branches/branch_4x/solr/common-build.xml Thu Sep 6 13:54:16 2012
@@ -15,7 +15,7 @@
limitations under the License.
-->
-<project name="common-solr" default="default">
+<project name="common-solr" default="default" xmlns:rsel="antlib:org.apache.tools.ant.types.resources.selectors">
<description>
This file is designed for importing into a main build file, and not intended
for standalone use.
@@ -50,6 +50,7 @@
<property name="tests.cleanthreads.sysprop" value="perClass"/>
<property name="changes.target.dir" value="${dest}/docs/changes"/>
+ <property name="license.dir" value="${common-solr.dir}/licenses"/>
<import file="${common-solr.dir}/../lucene/module-build.xml"/>
@@ -276,6 +277,34 @@
<target name="dist-maven"
depends="filter-pom-templates, install-maven-tasks, m2-deploy-solr-parent-pom, dist-maven-common"/>
+ <target name="-validate-maven-dependencies">
+ <property name="top.level.dir" location="${common.dir}/.."/>
+ <pathconvert property="pom.xml">
+ <mapper>
+ <chainedmapper>
+ <globmapper from="${top.level.dir}*" to="${filtered.pom.templates.dir}*"/>
+ <globmapper from="*build.xml" to="*pom.xml"/>
+ </chainedmapper>
+ </mapper>
+ <path location="${ant.file}"/>
+ </pathconvert>
+ <m2-validate-dependencies pom.xml="${pom.xml}" licenseDirectory="${license.dir}">
+ <additional-filters>
+ <replaceregex pattern="jetty([^/]+)$" replace="jetty" flags="gi" />
+ <replaceregex pattern="slf4j-([^/]+)$" replace="slf4j" flags="gi" />
+ <replaceregex pattern="(bcmail|bcprov)-([^/]+)$" replace="\1" flags="gi" />
+ </additional-filters>
+ <excludes>
+ <rsel:or>
+ <rsel:name name="**/lucene-*.jar" handledirsep="true"/>
+ <rsel:name name="**/solr-*.jar" handledirsep="true"/>
+ <!-- TODO: figure out what is going on here with servlet-apis -->
+ <rsel:name name="**/*servlet*.jar" handledirsep="true"/>
+ </rsel:or>
+ </excludes>
+ </m2-validate-dependencies>
+ </target>
+
<!-- Solr core targets -->
<target name="compile-solr-core" description="Compile Solr core." unless="solr.core.compiled">
<ant dir="${common-solr.dir}/core" target="compile-core" inheritAll="false">