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 2011/04/01 08:58:14 UTC
svn commit: r1087603 [1/3] - in /lucene/dev/branches/solr2452:
dev-tools/eclipse/ lucene/ solr/ solr/contrib/
solr/contrib/analysis-extras/ solr/contrib/clustering/
solr/contrib/dataimporthandler-extras/
solr/contrib/dataimporthandler-extras/src/ solr/...
Author: rmuir
Date: Fri Apr 1 06:58:12 2011
New Revision: 1087603
URL: http://svn.apache.org/viewvc?rev=1087603&view=rev
Log:
SOLR-2452: commit my state
Added:
lucene/dev/branches/solr2452/solr/contrib/contrib-build.xml (with props)
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler-extras/
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler-extras/build.xml (with props)
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler-extras/src/
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler-extras/src/main/
- copied from r1087521, lucene/dev/trunk/solr/contrib/dataimporthandler/src/extras/main/
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler-extras/src/test/
- copied from r1087521, lucene/dev/trunk/solr/contrib/dataimporthandler/src/extras/test/
lucene/dev/branches/solr2452/solr/src/test-framework/
lucene/dev/branches/solr2452/solr/src/test-framework/org/
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/BaseDistributedSearchTestCase.java
- copied, changed from r1087521, lucene/dev/trunk/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/JSONTestUtil.java
- copied unchanged from r1087521, lucene/dev/trunk/solr/src/test/org/apache/solr/JSONTestUtil.java
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/SolrTestCaseJ4.java
- copied, changed from r1087521, lucene/dev/trunk/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/analysis/
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/analysis/BaseTokenTestCase.java
- copied unchanged from r1087521, lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/util/
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/util/AbstractSolrTestCase.java
- copied, changed from r1087521, lucene/dev/trunk/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java
lucene/dev/branches/solr2452/solr/src/test-framework/org/apache/solr/util/TestHarness.java
- copied, changed from r1087521, lucene/dev/trunk/solr/src/java/org/apache/solr/util/TestHarness.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/util/ExternalPaths.java (with props)
Removed:
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler/src/extras/
lucene/dev/branches/solr2452/solr/src/java/org/apache/solr/util/TestHarness.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/BaseDistributedSearchTestCase.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/JSONTestUtil.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/SolrTestCaseJ4.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/analysis/BaseTokenTestCase.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/util/AbstractSolrTestCase.java
Modified:
lucene/dev/branches/solr2452/dev-tools/eclipse/dot.classpath
lucene/dev/branches/solr2452/lucene/common-build.xml
lucene/dev/branches/solr2452/solr/build.xml
lucene/dev/branches/solr2452/solr/common-build.xml
lucene/dev/branches/solr2452/solr/contrib/analysis-extras/build.xml
lucene/dev/branches/solr2452/solr/contrib/clustering/build.xml
lucene/dev/branches/solr2452/solr/contrib/dataimporthandler/build.xml
lucene/dev/branches/solr2452/solr/contrib/extraction/build.xml
lucene/dev/branches/solr2452/solr/contrib/uima/build.xml
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/MergeIndexesExampleTestBase.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/MultiCoreExampleTestBase.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/SolrExampleBinaryTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/SolrJettyTestBase.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/TestBatchUpdate.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeBinaryJettyTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeEmbeddedTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/LargeVolumeJettyTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleEmbeddedTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleJettyTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/embedded/SolrExampleStreamingTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/response/TermsResponseTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/client/solrj/response/TestSpellCheckResponse.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/cloud/BasicDistributedZkTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/common/util/TestSystemIdResolver.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/servlet/NoCacheHeaderTest.java
lucene/dev/branches/solr2452/solr/src/test/org/apache/solr/spelling/suggest/PersistenceTest.java
Modified: lucene/dev/branches/solr2452/dev-tools/eclipse/dot.classpath
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/dev-tools/eclipse/dot.classpath?rev=1087603&r1=1087602&r2=1087603&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/dev-tools/eclipse/dot.classpath (original)
+++ lucene/dev/branches/solr2452/dev-tools/eclipse/dot.classpath Fri Apr 1 06:58:12 2011
@@ -57,6 +57,7 @@
<classpathentry kind="src" path="solr/src/webapp/src"/>
<classpathentry kind="src" path="solr/src/common"/>
<classpathentry kind="src" path="solr/src/solrj"/>
+ <classpathentry kind="src" path="solr/src/test-framework"/>
<classpathentry kind="src" path="solr/src/test"/>
<classpathentry kind="src" path="solr/src/test-files"/>
<classpathentry kind="src" path="solr/contrib/analysis-extras/src/java"/>
Modified: lucene/dev/branches/solr2452/lucene/common-build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/lucene/common-build.xml?rev=1087603&r1=1087602&r2=1087603&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/lucene/common-build.xml (original)
+++ lucene/dev/branches/solr2452/lucene/common-build.xml Fri Apr 1 06:58:12 2011
@@ -515,8 +515,11 @@
<sysproperty key="tests.seed" value="${tests.seed}"/>
<!-- set the Version that tests should run against -->
<sysproperty key="tests.luceneMatchVersion" value="${tests.luceneMatchVersion}"/>
- <!-- for lucene we can be strict, and we don't want false fails even across methods -->
+ <!-- for lucene we can be strict, and we don't want false fails even across methods
+ make this a param so lucene-core/contrib tests use it only?
<sysproperty key="tests.cleanthreads" value="perMethod"/>
+ -->
+ <sysproperty key="tests.cleanthreads" value="perClass"/>
<!-- logging config file -->
<sysproperty key="java.util.logging.config.file" value="${tests.loggingfile}"/>
<!-- set whether or not nightly tests should run -->
Modified: lucene/dev/branches/solr2452/solr/build.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/solr2452/solr/build.xml?rev=1087603&r1=1087602&r2=1087603&view=diff
==============================================================================
--- lucene/dev/branches/solr2452/solr/build.xml (original)
+++ lucene/dev/branches/solr2452/solr/build.xml Fri Apr 1 06:58:12 2011
@@ -17,36 +17,81 @@
limitations under the License.
-->
-<project name="solr" default="usage" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+<project name="solr-core" default="usage">
+ <description>Solr</description>
- <property name="solr-path" value="." />
-
- <import file="common-build.xml"/>
+ <property name="src.dir" location="src/java"/>
+
+ <!-- solr uses this as the test working directory: nocommit classpath -->
+ <property name="tests.userdir" value="src/test-files"/>
+
+ <path id="additional.dependencies">
+ <fileset dir="lib" includes="**/*.jar"/>
+ <fileset dir="example/lib" includes="**/*.jar"/>
+ </path>
- <!-- 3rd party libraries for compilation -->
- <property name="lib" location="lib" />
+ <import file="common-build.xml"/>
- <!-- solr source files -->
- <property name="src" location="src" />
- <property name="web.xml" location="${src}/webapp/web/WEB-INF/web.xml"/>
+ <!-- add some descriptions to some inherited targets -->
+ <target name="compile" description="Compile the source code."
+ depends="compile-core, build-contrib"/>
+ <target name="test" description="Run core and contrib unit tests."
+ depends="common.test, test-contrib"/>
+ <target name="test-core" description="Runs the core unit tests."
+ depends="common.test"/>
+ <target name="compile-test" description="Compile unit tests."
+ depends="compile-test-framework, common.compile-test"/>
+ <target name="javadocs" description="Generate javadocs for core, client, and contrib"
+ depends="contrib-build.javadocs, javadocs-solrj, javadocs-contrib"/>
+ <target name="javadocs-core" description="Generate javadocs for core."
+ depends="contrib-build.javadocs"/>
+
+ <!-- hackish we have to call init/clover here, but solr core depends upon solrj? -->
+ <target name="compile-core" depends="init, clover, compile-analyzers-common,
+ compile-analyzers-phonetic, compile-highlighter, compile-memory, compile-misc,
+ compile-queries, compile-spatial, compile-spellchecker, compile-solrj,
+ common.compile-core, compile-webapp"
+ unless="solr-core.compiled">
+ </target>
+
+ <target name="compile-webapp" depends="compile-solrj">
+ <compile srcdir="src/webapp/src"
+ destdir="${build.dir}/classes/webapp">
+ <classpath refid="classpath"/>
+ </compile>
+ </target>
+
+ <!-- TODO: factor solrj into a separate dir so its a normal module?
+ we have to reinvent wheels the way it is now -->
+
+ <target name="compile-solrj" description="Compile the java client.">
+ <compile srcdir="src/common:src/solrj"
+ destdir="${build.dir}/classes/solrj">
+ <classpath refid="classpath"/>
+ </compile>
+ </target>
+
+ <!-- hacky? -->
+ <target name="compile-test-framework" depends="compile-core">
+ <compile srcdir="src/test-framework" destdir="${build.dir}/classes/test-framework">
+ <classpath refid="test.classpath"/>
+ </compile>
+ </target>
- <!-- Destination for distribution files (demo WAR, contrib JARs, etc.) -->
- <property name="dist" location="dist" />
+ <target name="javadocs-solrj" depends="compile-solrj" description="Generates solrj javadoc documentation.">
+ <sequential>
+ <mkdir dir="${javadoc.dir}/solrj"/>
+ <invoke-javadoc
+ destdir="${javadoc.dir}/solrj"
+ title="${Name}-j ${version} API (${specversion})">
+ <sources>
+ <packageset dir="src/common"/>
+ <packageset dir="src/solrj"/>
+ </sources>
+ </invoke-javadoc>
+ </sequential>
+ </target>
- <property name="clover.db.dir" location="${dest}/tests/clover/db"/>
- <property name="clover.report.dir" location="${dest}/tests/clover/reports"/>
-
- <available
- property="clover.present"
- classname="com.cenqua.clover.tasks.CloverReportTask"
- />
- <condition property="clover.enabled">
- <and>
- <isset property="run.clover"/>
- <isset property="clover.present"/>
- </and>
- </condition>
-
<!-- Default target: usage. Prints out instructions. -->
<target name="usage"
description="Prints out instructions">
@@ -64,1068 +109,45 @@
<echo message="Use 'ant test' to run unit tests." />
</target>
- <!-- Clean: cleans compiled files and other temporary artifacts. -->
- <target name="clean" depends="clean-contrib"
- description="Cleans compiled files and other temporary artifacts.">
- <delete dir="${dest}" />
- <delete dir="${dist}" />
- <delete dir="${package.dir}" />
- <delete dir="example/solr/lib" />
- <delete dir="${lucene-libs}" />
+ <!-- TODO: lucene/solr could share these -->
+ <target name="build-contrib" depends="compile-test"
+ description="Builds all contrib modules and their tests">
+ <contrib-crawl target="build-artifacts-and-tests"/>
</target>
- <target name="clean-dest"
- description="Cleans out ${dest} but leaves ${dist} and ${package.dir} alone. This allows us to run nightly and clover together in Hudson">
- <delete includeemptydirs="true" >
- <fileset dir="${dest}">
- <exclude name="docs/"/>
- </fileset>
- </delete>
+ <target name="javadocs-contrib" description="Generate javadocs for contrib classes"
+ depends="build-contrib">
+ <contrib-crawl target="javadocs" failonerror="true"/>
</target>
- <!-- ========================================================================= -->
- <!-- ===================== COMPILATION-RELATED TASKS ========================= -->
- <!-- ========================================================================= -->
-
- <!-- The compilation classpath -->
- <path id="compile.classpath">
- <fileset dir="${lib}">
- <include name="*.jar" />
- </fileset>
- <path refid="lucene.classpath"/>
- </path>
-
- <target name="compile-solrj"
- description="Compile the java client."
- depends="compile-lucene">
-
- <solr-javac destdir="${dest}/solrj"
- classpathref="compile.classpath">
- <src path="${src}/common" />
- <src path="${src}/solrj" />
- </solr-javac>
+ <target name="test-contrib" description="Run contrib unit tests."
+ depends="build-contrib">
+ <contrib-crawl target="test" failonerror="true"/>
</target>
-
- <!-- This depend on all of solr -->
- <path id="compile.classpath.solrj">
- <path refid="compile.classpath" />
- <pathelement location="${dest}/solrj"/>
- <!-- jetty -->
- <fileset dir="example/lib">
- <include name="**/*.jar" />
- </fileset>
- </path>
-
- <!-- Compile the project. -->
- <target name="compile"
- description="Compile the source code."
- depends="validate-solr, compile-solrj">
-
- <solr-javac destdir="${dest}/solr"
- classpathref="compile.classpath.solrj">
- <src path="${src}/java" />
- <src path="${src}/webapp/src" />
- </solr-javac>
+ <target name="compile-analyzers-common" unless="analyzers-common.uptodate">
+ <ant dir="${common.dir}/../modules/analysis/common" target="default" inheritAll="false"/>
</target>
-
- <target name="javadoc-dep">
- <copy failonerror="false" todir="${build.docs}">
- <fileset dir="site" />
- </copy>
+ <target name="compile-analyzers-phonetic" unless="analyzers-phonetic.uptodate">
+ <ant dir="${common.dir}/../modules/analysis/phonetic" target="default" inheritAll="false"/>
</target>
-
- <target name="javadoc-solrj" depends="compile-solrj,javadoc-dep" description="Generates solrj javadoc documentation.">
- <sequential>
- <mkdir dir="${build.javadoc}/solrj"/>
-
- <path id="javadoc.classpath">
- <path refid="compile.classpath"/>
- </path>
-
- <invoke-javadoc
- destdir="${build.javadoc}/solrj"
- title="${Name}-j ${version} API (${specversion})">
- <sources>
- <packageset dir="${src}/common"/>
- <packageset dir="${src}/solrj"/>
- </sources>
- </invoke-javadoc>
- </sequential>
+ <target name="compile-highlighter" unless="highlighter.uptodate">
+ <ant dir="${common.dir}/contrib/highlighter" target="default" inheritAll="false"/>
</target>
-
- <target name="javadoc-core" depends="compile,javadoc-dep" description="Generates javadoc documentation for core.">
-
- <sequential>
- <mkdir dir="${build.javadoc}/solr"/>
-
- <path id="javadoc.classpath">
- <path refid="compile.classpath"/>
- <path refid="compile.classpath.solrj"/>
- <pathelement location="${dest}/solrj"/>
- </path>
-
- <invoke-javadoc
- destdir="${build.javadoc}/solr"
- title="${Name} ${version} core API (${specversion})">
- <sources>
- <packageset dir="${src}/java" />
- <packageset dir="${src}/webapp/src"/>
- </sources>
- </invoke-javadoc>
- </sequential>
+ <target name="compile-memory" unless="memory.uptodate">
+ <ant dir="${common.dir}/contrib/memory" target="default" inheritAll="false"/>
</target>
-
-
- <target name="javadoc-all" depends="compile,javadoc-dep" description="Generate javadoc for core, client and contrib">
- <sequential>
- <mkdir dir="${build.javadoc}"/>
-
- <path id="javadoc.classpath">
- <path refid="compile.classpath"/>
- <path refid="compile.classpath.solrj"/>
- <fileset dir="contrib">
- <include name="**/lib/**/*.jar"/>
- <include name="**/lucene-libs/**/*.jar"/>
- <exclude name="**/analysis-extras/lib/**/*icu4j*.jar"/> <!-- extraction/lib/ has this one -->
- </fileset>
- <pathelement location="${dest}/client/solrj"/>
- </path>
-
- <invoke-javadoc destdir="${build.javadoc}">
- <sources>
- <packageset dir="${src}/common" />
- <packageset dir="${src}/solrj" />
- <packageset dir="${src}/java" />
- <packageset dir="${src}/webapp/src" />
- <packageset dir="contrib/dataimporthandler/src/main/java" />
- <packageset dir="contrib/dataimporthandler/src/extras/main/java" />
- <packageset dir="contrib/clustering/src/main/java" />
- <packageset dir="contrib/extraction/src/main/java" />
- <packageset dir="contrib/uima/src/main/java" />
- <packageset dir="contrib/analysis-extras/src/java" />
- <group title="Core" packages="org.apache.*" />
- <group title="Common" packages="org.apache.solr.common.*" />
- <group title="SolrJ" packages="org.apache.solr.client.solrj*" />
- <group title="contrib: DataImportHandler" packages="org.apache.solr.handler.dataimport*" />
- <group title="contrib: Clustering" packages="org.apache.solr.handler.clustering*" />
- <group title="contrib: Solr Cell" packages="org.apache.solr.handler.extraction*" />
- <group title="contrib: Solr UIMA" packages="org.apache.solr.uima*" />
- </sources>
- </invoke-javadoc>
- </sequential>
- </target>
-
- <target name="javadoc-contrib" description="Generate javadoc for contrib classes" depends="build-contrib,javadoc-dep">
- <contrib-crawl target="javadoc"
- failonerror="true"/>
- </target>
-
- <target name="javadoc" depends="javadoc-core, javadoc-contrib, javadoc-solrj, javadoc-all">
- </target>
- <target name="javadocs" depends="javadoc"/>
-
- <target name="stub-factories" depends="dist-jar"
- description="Generates stub factories as needed">
-
- <path id="stub.jars">
- <!-- this needs to be a list of all jars that might contain
- classes we want to build factories for
- -->
- <fileset dir="${lib}">
- <include name="lucene-*.jar"/>
- </fileset>
- <fileset dir="${dist}">
- <include name="*.jar"/>
- <exclude name="*solrj*.jar"/>
- </fileset>
- </path>
- <pathconvert property="jar.list" pathsep=" " refid="stub.jars" />
- <property name="stub.list" value="${dest}/need-stub-factories.txt" />
- <java fork="false"
- classname="org.apache.solr.util.SuggestMissingFactories"
- logError="true"
- failonerror="true"
- classpathref="test.run.classpath"
- output="${stub.list}">
- <arg line="${jar.list}" />
- </java>
- <fail unless="stub.src.path">...
-
- This task requires that the property 'stub.src.path' be set.
-
- It must contain a "path" listing directories containing source
- files that this task should use when looking for classes that
- need factories created, the format is platform specific --
- typically it is colon seperated in Unix, semi-colon seperated
- on windows, ie:
-
- ant stub-factories -Dstub.src.path="./src:../lucene/contrib:../lucene/src/java"
-
- FYI: The file ${stub.list} contains a list of classes
- that seem to need stub factories. (if java files can be found to
- use as guides for creating them).
- </fail>
-
- <pathconvert pathsep=" " property="stub.src.dirs">
- <path>
- <pathelement path="${stub.src.path}"/>
- </path>
- </pathconvert>
- <exec executable="${basedir}/src/dev-tools/stub-analysis-factory-maker.pl"
- dir="src/java/org/apache/solr/analysis/"
- failonerror="true">
- <redirector input="${stub.list}">
- <!-- place to put special case classes we want to ignore -->
- <inputfilterchain>
- <linecontainsregexp negate="true">
- <!-- only for internal Solr highlighting purposes -->
- <regexp pattern="TokenOrderingFilter"/>
- </linecontainsregexp>
- <linecontainsregexp negate="true">
- <!-- no way to leverage this in Solr -->
- <regexp pattern="CachingTokenFilter"/>
- </linecontainsregexp>
- <linecontainsregexp negate="true">
- <!-- no way to leverage this in Solr -->
- <regexp pattern="HyphenationCompoundWordTokenFilter"/>
- </linecontainsregexp>
- <linecontainsregexp negate="true">
- <!-- no way to leverage these in Solr (yet) -->
- <regexp pattern="Sink|Tee"/>
- </linecontainsregexp>
- <linecontainsregexp negate="true">
- <!-- Solr already has a different impl for this -->
- <regexp pattern="SynonymTokenFilter"/>
- </linecontainsregexp>
- <linecontainsregexp negate="true">
- <!-- solr and lucene both have one? ? ? ? -->
- <regexp pattern="LengthFilter"/>
- </linecontainsregexp>
- <linecontainsregexp negate="true">
- <!-- solr provides it's own SnowballPorterFilter variant -->
- <regexp pattern="SnowballFilter"/>
- </linecontainsregexp>
- </inputfilterchain>
- </redirector>
- <arg line="${stub.src.dirs}"/>
- </exec>
- </target>
-
-
- <!-- ========================================================================= -->
- <!-- ===================== TESTING-RELATED TASKS ============================= -->
- <!-- ========================================================================= -->
-
-
- <!-- Classpath for unit test compilation. -->
- <!-- For now, it's the same as main classpath. Later it will have JUnit, Clover, etc. -->
- <path id="test.compile.classpath">
- <path refid="compile.classpath" />
- <path refid="compile.classpath.solrj" />
- <pathelement location="${dest}/solr"/>
- <pathelement location="${dest}/solrj"/> <!-- include solrj -->
- <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
- </path>
-
- <path id="test.run.classpath">
- <path refid="test.compile.classpath" />
- <pathelement location="${dest}/tests"/>
- <!-- include the solrj classpath and jetty files included in example -->
- <path refid="compile.classpath.solrj" />
- <pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
- <pathelement path="${java.class.path}"/>
- </path>
-
- <!-- Compile unit tests. -->
- <target name="compileTests"
- description="Compile unit tests."
- depends="compile,compile-solrj">
-
- <mkdir dir="${dest}/tests" />
- <solr-javac
- destdir="${dest}/tests"
- classpathref="test.compile.classpath">
- <src path="${src}/test" />
- </solr-javac>
- <!-- Copy any data files present to the classpath -->
- <copy todir="${dest}/tests">
- <fileset dir="${src}/test-files" excludes="**/*.java"/>
- </copy>
+ <target name="compile-misc" unless="misc.uptodate">
+ <ant dir="${common.dir}/contrib/misc" target="default" inheritAll="false"/>
</target>
-
- <!-- Run core unit tests. -->
- <target name="test-core"
- description="Runs the core unit tests."
- depends="compileTests, junit" />
-
- <!-- Run contrib unit tests. -->
- <target name="test"
- description="Runs the core unit tests."
- depends="test-core, test-contrib, test-jsp" />
-
- <target name="junit" depends="compileTests,junit-mkdir,junit-sequential,junit-parallel"/>
-
- <target name="junit-sequential" if="tests.sequential">
- <junit-macro/>
+ <target name="compile-queries" unless="queries.uptodate">
+ <ant dir="${common.dir}/contrib/queries" target="default" inheritAll="false"/>
</target>
-
- <target name="junit-parallel" unless="tests.sequential">
- <parallel threadsPerProcessor="${tests.threadspercpu}">
- <junit-macro threadNum="1" threadTotal="8"/>
- <junit-macro threadNum="2" threadTotal="8"/>
- <junit-macro threadNum="3" threadTotal="8"/>
- <junit-macro threadNum="4" threadTotal="8"/>
- <junit-macro threadNum="5" threadTotal="8"/>
- <junit-macro threadNum="6" threadTotal="8"/>
- <junit-macro threadNum="7" threadTotal="8"/>
- <junit-macro threadNum="8" threadTotal="8"/>
- </parallel>
+ <target name="compile-spatial" unless="spatial.uptodate">
+ <ant dir="${common.dir}/contrib/spatial" target="default" inheritAll="false"/>
</target>
-
- <target name="junit-mkdir">
- <mkdir dir="${junit.output.dir}"/>
- </target>
-
- <macrodef name="junit-macro">
- <attribute name="threadNum" default="1"/>
- <attribute name="threadTotal" default="1"/>
- <attribute name="tempDir" default="${junit.output.dir}/temp"/>
- <sequential>
- <!-- no description so it doesn't show up in -projecthelp -->
- <condition property="runall">
- <not>
- <or>
- <isset property="testcase"/>
- <isset property="testpackage"/>
- <isset property="testpackageroot"/>
- </or>
- </not>
- </condition>
- <!-- <mkdir dir="@{tempDir}/@{pattern}"/>
- This is very loud and obnoxious. abuse touch instead for a "quiet" mkdir
- -->
- <touch file="@{tempDir}/@{threadNum}/quiet.ant" verbose="false" mkdirs="true"/>
- <property name="dir.prop" value=""/>
- <junit printsummary="no"
- haltonfailure="no"
- maxmemory="512M"
- errorProperty="tests.failed"
- failureProperty="tests.failed"
- dir="@{tempDir}/@{threadNum}"
- tempdir="@{tempDir}/@{threadNum}"
- forkmode="perBatch"
- >
- <sysproperty key="java.util.logging.config.file" value="${common-solr.dir}/testlogging.properties"/>
- <sysproperty key="tests.luceneMatchVersion" value="${tests.luceneMatchVersion}"/>
- <sysproperty key="tests.codec" value="${tests.codec}"/>
- <sysproperty key="tests.locale" value="${tests.locale}"/>
- <sysproperty key="tests.timezone" value="${tests.timezone}"/>
- <sysproperty key="tests.multiplier" value="${tests.multiplier}"/>
- <sysproperty key="tests.iter" value="${tests.iter}"/>
- <sysproperty key="tests.seed" value="${tests.seed}"/>
- <sysproperty key="tests.verbose" value="${tests.verbose}"/>
- <sysproperty key="jetty.testMode" value="1"/>
- <sysproperty key="tempDir" file="@{tempDir}/@{threadNum}"/>
- <sysproperty key="testmethod" value="${testmethod}"/>
- <!-- set whether or not nightly tests should run -->
- <sysproperty key="tests.nightly" value="${tests.nightly}"/>
- <!-- TODO: why is this unconditionally set to "" above? disable for now
- <jvmarg line="${dir.prop}"/>
- -->
- <jvmarg line="${args}"/>
-
- <formatter classname="${junit.details.formatter}" usefile="false" if="junit.details"/>
- <classpath refid="test.run.classpath"/>
- <assertions>
- <enable package="org.apache.lucene"/>
- <enable package="org.apache.solr"/>
- </assertions>
- <formatter type="${junit.formatter}"/>
- <batchtest fork="yes" todir="${junit.output.dir}" if="runall">
- <fileset dir="src/test" includes="**/Test*.java,**/*Test.java">
- <custom classname="${junit.parallel.selector}" classpathref="test.run.classpath">
- <param name="divisor" value="@{threadTotal}" />
- <param name="part" value="@{threadNum}" />
- </custom>
- </fileset>
- </batchtest>
- <batchtest fork="yes" todir="${junit.output.dir}" if="testpackage">
- <fileset dir="src/test" includes="**/${testpackage}/**/Test*.java,**/${testpackage}/**/*Test.java">
- <custom classname="${junit.parallel.selector}" classpathref="test.run.classpath">
- <param name="divisor" value="@{threadTotal}" />
- <param name="part" value="@{threadNum}" />
- </custom>
- </fileset>
- </batchtest>
- <batchtest fork="yes" todir="${junit.output.dir}" if="testpackageroot">
- <fileset dir="src/test" includes="**/${testpackageroot}/Test*.java,**/${testpackageroot}/*Test.java">
- <custom classname="${junit.parallel.selector}" classpathref="test.run.classpath">
- <param name="divisor" value="@{threadTotal}" />
- <param name="part" value="@{threadNum}" />
- </custom>
- </fileset>
- </batchtest>
- <batchtest fork="yes" todir="${junit.output.dir}" if="testcase">
- <fileset dir="src/test" includes="**/${testcase}.java"/>
- </batchtest>
- </junit>
-
- <fail if="tests.failed">Tests failed!</fail>
- </sequential>
- </macrodef>
-
-
- <target name="test-reports"
- description="Generates HTML test reports.">
- <mkdir dir="${junit.reports}"/>
- <junitreport todir="${junit.output.dir}">
- <fileset dir="${junit.output.dir}">
- <include name="TEST-*.xml"/>
- </fileset>
- <report format="frames" todir="${junit.reports}"/>
- </junitreport>
- </target>
-
- <target name="clover" depends="clover.setup, clover.info"
- description="Instrument the Unit tests using Clover. Requires a Clover license and clover.jar in the ANT classpath. To use, specify -Drun.clover=true on the command line."/>
-
- <target name="clover.setup" if="clover.enabled">
- <taskdef resource="cloverlib.xml"/>
- <mkdir dir="${clover.db.dir}"/>
- <clover-setup initString="${clover.db.dir}/solr_coverage.db">
- <fileset dir="src/common"/>
- <fileset dir="src/solrj"/>
- <fileset dir="src/java"/>
- <fileset dir="src/webapp/src"/>
- <fileset dir="contrib/dataimporthandler/src/main/java" />
- <fileset dir="contrib/clustering/src/main/java" />
- <fileset dir="contrib/extraction/src/main/java" />
- <fileset dir="contrib/uima/src/main/java" />
- <fileset dir="contrib/analysis-extras/src/java" />
- </clover-setup>
- </target>
-
- <target name="clover.info" unless="clover.present">
- <echo>
- Clover not found. Code coverage reports disabled.
- </echo>
- </target>
-
- <target name="clover.check">
- <fail unless="clover.present">
- ##################################################################
- Clover not found.
- Please make sure clover.jar is in ANT_HOME/lib, or made available
- to Ant using other mechanisms like -lib or CLASSPATH.
- ##################################################################
- </fail>
- </target>
- <!--
- Run after Junit tests.
- -->
- <target name="generate-clover-reports" depends="clover.check, clover">
- <mkdir dir="${clover.report.dir}"/>
- <clover-report>
- <current outfile="${clover.report.dir}/clover.xml"
- title="${fullnamever}">
- <format type="xml"/>
- </current>
- <current outfile="${clover.report.dir}" title="${fullnamever}">
- <format type="html"/>
- </current>
- </clover-report>
- </target>
-
- <!-- ========================================================================= -->
-
- <!-- Checks that all JSP files in the webapp compile successfully using Jetty's Jasper -->
- <target name="test-jsp" depends="compile">
- <property name="jsp.target" location="${dest}/jsp-temp" />
- <taskdef classname="org.apache.jasper.JspC" name="jasper" >
- <classpath>
- <fileset dir="example/lib" includes="**/*.jar" />
- </classpath>
- </taskdef>
- <delete dir="${jsp.target}" />
- <mkdir dir="${jsp.target}" />
- <jasper
- uriroot="${src}/webapp/web"
- outputDir="${jsp.target}"
- compile="false"
- verbose="1"
- package="j"
- />
- <javac
- srcdir="${jsp.target}"
- destdir="${jsp.target}"
- target="${java.compat.version}"
- source="${java.compat.version}"
- debug="off"
- encoding="utf8"
- includeAntRuntime="${javac.includeAntRuntime}"
- classpathref="test.compile.classpath"
- />
- </target>
-
-
- <!-- ========================================================================= -->
- <!-- ===================== DISTRIBUTION-RELATED TASKS ======================== -->
- <!-- ========================================================================= -->
-
-
- <!-- Creates the Solr distribution files. -->
- <target name="dist"
- description="Creates the Solr distribution files."
- depends="dist-solrj, dist-jar, dist-contrib, dist-war" />
-
- <!-- Creates the Solr WAR file. -->
- <target name="dist-war"
- description="Creates the Solr WAR Distribution file."
- depends="compile, test-jsp, make-manifest, dist-jar, dist-solrj, lucene-jars-to-solr">
- <mkdir dir="${dist}" />
- <war destfile="${dist}/${fullnamever}.war"
- webxml="${web.xml}"
- filesetmanifest="skip"
- manifest="${dest}/META-INF/MANIFEST.MF">
- <lib dir="${lib}">
- <exclude name="servlet-api*.jar" />
- <exclude name="easymock-*.jar" />
- <exclude name="junit-*.jar" />
- <exclude name="*.txt" />
- <exclude name="*.template" />
- </lib>
-
- <lib dir="${lucene-libs}"/>
-
- <lib dir="${dist}">
- <include name="${fullname}-solrj-${version}.jar" />
- <include name="${fullname}-core-${version}.jar" />
- </lib>
- <fileset dir="${src}/webapp/web" />
-
- <!-- Include anything put in by contrib projects -->
- <fileset dir="${dest}/web" />
-
- <metainf dir="${basedir}" includes="LICENSE.txt,NOTICE.txt"/>
- </war>
- </target>
-
- <target name="dist-src" description="Creates the Solr source distribution files for maven"
- depends="make-manifest">
- <mkdir dir="${dist}" />
-
- <solr-jar destfile="${dist}/${fullname}-solrj-src-${version}.jar">
- <fileset dir="${src}/common" />
- <fileset dir="${src}/solrj"/>
- </solr-jar>
-
- <solr-jar destfile="${dist}/${fullname}-core-src-${version}.jar">
- <fileset dir="${src}/java" />
- <fileset dir="${src}/webapp/src"/>
- </solr-jar>
-
- <solr-jar destfile="${dist}/apache-solr-dataimporthandler-src-${version}.jar"
- basedir="contrib/dataimporthandler/src/main/java" />
- <solr-jar destfile="${dist}/apache-solr-dataimporthandler-extras-src-${version}.jar"
- basedir="contrib/dataimporthandler/src/extras/main/java" />
-
- <solr-jar destfile="${dist}/apache-solr-cell-src-${version}.jar"
- basedir="contrib/extraction/src" />
- <solr-jar destfile="${dist}/apache-solr-clustering-src-${version}.jar"
- basedir="contrib/clustering/src" />
- <solr-jar destfile="${dist}/apache-solr-analysis-extras-src-${version}.jar"
- basedir="contrib/analysis-extras/src" />
- <solr-jar destfile="${dist}/apache-solr-uima-src-${version}.jar"
- basedir="contrib/uima/src/main/java" >
- <fileset dir="contrib/uima/src/main/resources" />
- </solr-jar>
- </target>
-
- <target name="dist-javadoc" description="Creates the Solr javadoc distribution files for maven"
- depends="make-manifest, javadoc">
- <mkdir dir="${dist}" />
-
- <solr-jar destfile="${dist}/${fullname}-core-docs-${version}.jar"
- basedir="${build.javadoc}/solr" />
- <solr-jar destfile="${dist}/${fullname}-solrj-docs-${version}.jar"
- basedir="${build.javadoc}/solrj" />
- <solr-jar destfile="${dist}/apache-solr-dataimporthandler-docs-${version}.jar"
- basedir="${build.javadoc}/contrib-solr-dataimporthandler" />
- <solr-jar destfile="${dist}/apache-solr-clustering-docs-${version}.jar"
- basedir="${build.javadoc}/contrib-solr-clustering" />
- <solr-jar destfile="${dist}/apache-solr-cell-docs-${version}.jar"
- basedir="${build.javadoc}/contrib-solr-cell" />
- <solr-jar destfile="${dist}/apache-solr-analysis-extras-docs-${version}.jar"
- basedir="${build.javadoc}/contrib-solr-analysis-extras" />
- <solr-jar destfile="${dist}/apache-solr-uima-docs-${version}.jar"
- basedir="${build.javadoc}/contrib-solr-uima" />
- </target>
-
- <!-- Creates the solr jar. -->
- <target name="dist-jar"
- description="Creates the Solr JAR Distribution file."
- depends="compile, make-manifest">
- <mkdir dir="${dist}" />
- <solr-jar destfile="${dist}/${fullname}-core-${version}.jar">
- <fileset dir="${dest}/solr" />
- </solr-jar>
-
- </target>
-
- <!-- Creates the solr jar. -->
- <target name="dist-solrj"
- description="Creates the Solr JAR Distribution file."
- depends="compile-solrj, make-manifest">
- <mkdir dir="${dist}" />
- <solr-jar
- destfile="${dist}/${fullname}-solrj-${version}.jar"
- basedir="${dest}/solrj" />
-
- <mkdir dir="${dist}/solrj-lib" />
- <copy todir="${dist}/solrj-lib">
- <fileset dir="${lib}">
- <include name="commons-codec-*.jar"/>
- <include name="commons-io-*.jar"/>
- <include name="commons-httpclient-*.jar"/>
- <include name="*stax-*.jar" />
- <include name="wstx-*.jar" />
- <include name="jcl-over-slf4j-*.jar" />
- <include name="slf4j-api-*.jar" />
- </fileset>
- </copy>
-
- </target>
-
- <target name="example"
- description="Creates a runnable example configuration."
- depends="compile-lucene,dist-contrib,dist-war,example-contrib">
- <copy file="${dist}/${fullnamever}.war"
- tofile="${example}/webapps/${ant.project.name}.war"/>
- <jar destfile="${example}/exampledocs/post.jar"
- basedir="${dest}/solr"
- filesetmanifest="skip"
- includes="org/apache/solr/util/SimplePostTool*.class">
- <manifest>
- <attribute name="Main-Class"
- value="org.apache.solr.util.SimplePostTool"/>
- </manifest>
- </jar>
-
- <delete includeemptydirs="true">
- <fileset dir="${example}/work" includes="**/*"/>
- </delete>
- <echo>See ${example}/README.txt for how to run the Solr example configuration.</echo>
- </target>
-
- <target name="run-example" depends="example"
- description="Run Solr interactively, via Jetty. -Dexample.debug=true to enable JVM debugger">
- <property name="example.solr.home" location="example/solr"/>
- <property name="example.data.dir" location="example/solr/data"/>
- <property name="example.debug.suspend" value="n"/>
- <property name="example.jetty.port" value="8983"/>
- <condition property="example.jvm.line" value="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=${example.debug.suspend},address=5005">
- <isset property="example.debug"/>
- </condition>
- <property name="example.jvm.line" value=""/>
- <property name="example.heap.size" value="512M"/>
- <java jar="${example}/start.jar" fork="true" dir="${example}" maxmemory="${example.heap.size}">
- <jvmarg line="${example.jvm.line}"/>
- <sysproperty key="solr.solr.home" file="${example.solr.home}"/>
- <sysproperty key="solr.data.dir" file="${example.data.dir}"/>
- <sysproperty key="jetty.port" value="${example.jetty.port}"/>
- </java>
-
- </target>
-
- <!-- make a distribution -->
- <target name="package" depends="package-src,create-package"/>
-
- <property name="svn.export.dir" location="${dest}/svn-export"/>
-
- <!-- 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="${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.exe}" failonerror="true">
- <arg value="export"/>
- <arg value="--native-eol"/>
- <arg value="LF"/>
- <arg value="-r"/>
- <arg value="${svn.Revision}"/>
- <arg value="${svn.URL}"/>
- <arg value="${svn.export.dir}"/>
- </exec>
- </target>
-
- <!-- Populates properties svn.URL and svn.Revision using "svn info" -->
- <target name="get-svn-info">
- <exec dir=".." executable="${svn.exe}" 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"
- depends="dist, example, javadoc">
- <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}.tgz" failonerror="false" />
- <delete file="${package.dir}/${fullnamever}.zip" failonerror="false" />
-
- <tar destfile="${package.dir}/${fullnamever}.tgz" compression="gzip" longfile="gnu">
- <tarfileset dir="."
- prefix="${fullnamever}"
- includes="LICENSE.txt NOTICE.txt *.txt example/** client/** contrib/**/lib/ contrib/**/lucene-libs/ contrib/**/README.txt contrib/**/CHANGES.txt"
- excludes="${dist}/** ${dest}/** lib/README.committers.txt **/data/ **/logs/* **/classes/ **/*.sh **/bin/ src/scripts/** src/site/build/** **/target/** client/ruby/flare/** client/python/** client/javascript/** contrib/**/build/** **/*.iml **/*.ipr **/*.iws **/*pom.xml.template" />
- <tarfileset dir="."
- mode="755"
- prefix="${fullnamever}"
- includes="example/**/*.sh example/**/bin/" />
- <tarfileset dir="."
- prefix="${fullnamever}"
- includes="dist/*.jar dist/*.war dist/solrj-lib/*"
- excludes="**/*.tgz **/*.zip **/*.md5 **/*src*.jar **/*docs*.jar" />
- <!-- hack: the javadocs are built twice since maven needs separate packages... exclude those -->
- <tarfileset dir="${build.docs}"
- prefix="${fullnamever}/docs/"
- excludes="api/solr/** api/contrib-*/**"
- />
- </tar>
- <solr-checksum file="${package.dir}/${fullnamever}.tgz"/>
-
- <gunzip src="${package.dir}/${fullnamever}.tgz" dest="${dest}/${fullnamever}.tar"/>
- <untar src="${dest}/${fullnamever}.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 **/*.cfg **/*.cgi **/*.cpp **/*.css **/*.csv **/*.dtd
- **/*.erb **/*.fcgi **/.htaccess **/*.htm **/*.html **/*.incl
- **/*.java **/*.javacc **/*.jflex **/*.jflex-macro **/*.jj
- **/*.js **/*.json **/*.jsp **/*LICENSE **/package-list **/*.pl
- **/*.pom **/*pom.xml.template **/*.properties **/*.py
- **/*.rake **/Rakefile **/*.rb **/*.rbbi **/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}.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}.zip"/>
-
- </target>
-
-
- <target name="build-site" depends="svn-up"
- description="Prototype Helper for Committers. Assumes SVN is in the path">
- <delete dir="src/site/build"/>
- <exec executable="forrest" dir="src/site"/>
- <copy todir="site">
- <fileset dir="src/site/build/site"/>
- </copy>
- <antcall target="svn-up"/>
-
- </target>
- <target name="svn-up">
- <exec executable="${svn.exe}">
- <arg value="update"/>
- </exec>
- </target>
-
- <target name="clean-package-signatures">
- <delete failonerror="false">
- <fileset dir="${package.dir}">
- <include name="**/*.asc"/>
- </fileset>
- </delete>
- </target>
- <target name="sign-artifacts" depends="clean-package-signatures">
- <!--<property file="${user.home}/.solr/build.properties" />-->
- <input message="password:>" addproperty="gpg.passphrase">
- <handler classname="org.apache.tools.ant.input.SecureInputHandler" />
- </input>
- <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}"/>
-
- <!-- Maven artifacts -->
- <sign-maven-dependency-artifacts artifact.id="solr-commons-csv" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-dependency-artifacts artifact.id="solr-noggit" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-dependency-artifacts artifact.id="solr-uima-an-alchemy" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-dependency-artifacts artifact.id="solr-uima-an-calais" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-dependency-artifacts artifact.id="solr-uima-an-tagger" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-dependency-artifacts artifact.id="solr-uima-an-wst" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-war-artifacts artifact.id="solr" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-analysis-extras" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-cell" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-clustering" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-core" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-dataimporthandler" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-dataimporthandler-extras" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-solrj" gpg.passphrase="${gpg.passphrase}"/>
- <sign-maven-artifacts artifact.id="solr-uima" gpg.passphrase="${gpg.passphrase}"/>
-
- <!-- These are special since there are no jars, just poms -->
- <sign-artifact input.file="${maven.dist.prefix}/solr-parent/${version}/solr-parent-${version}.pom" gpg.passphrase="${gpg.passphrase}"/>
- </target>
-
- <property name="rc" value="rc0"/>
- <property name="remote.staging.dir" value="public_html/staging_area/${rc}/${version}"/>
- <property name="keyfile" value="${user.home}/.ssh/id_rsa"/>
- <property name="scp.user" value="${user.name}"/>
- <!--keys.dir is the location of the https://svn.apache.org/repos/asf/lucene/java/dist/ directory-->
- <property name="keys.dir" value="${common-solr.dir}/../../dist"/>
- <target name="copy-to-stage">
- <sshexec host="people.apache.org"
- username="${scp.user}"
- keyfile="${keyfile}"
- command="mkdir -p ${remote.staging.dir}"/>
- <echo>Uploading artifacts to ${scp.user}@people.apache.org:${remote.staging.dir}</echo>
- <scp todir="${scp.user}@people.apache.org:${remote.staging.dir}"
- username="${scp.user}"
- keyfile="${keyfile}"
- verbose="true"
- >
- <fileset dir="package"/>
- <fileset dir="${keys.dir}">
- <include name="KEYS"/>
- </fileset>
- </scp>
- </target>
-
- <target name="prepare-release" depends="clean, svn-up, package, generate-maven-artifacts, sign-artifacts"
- description="Prototype helper for Committers. Assumes gpg is in the path"/>
-
- <target name="stage" depends="prepare-release, copy-to-stage"/>
-
- <target name="generate-maven-artifacts" depends="maven.ant.tasks-check,dist,dist-src,dist-javadoc">
- <sequential>
- <ant target="get-maven-poms" dir=".."/>
-
- <!--
-
- !!!!!!!!!!
- 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}"/>
-
- <!-- ========== SOLR PARENT POM ========== -->
-
- <m2-deploy pom.xml="pom.xml"/>
-
- <!-- ========== SOLR SPECIFIC NON-MAVENIZED DEPENDENCIES ========== -->
- <m2-deploy-with-pom-template pom.xml="lib/solr-commons-csv-pom.xml.template"
- jar.file="lib/commons-csv-1.0-SNAPSHOT-r966014.jar" />
-
- <m2-deploy-with-pom-template pom.xml="lib/apache-solr-noggit-pom.xml.template"
- jar.file="lib/apache-solr-noggit-r944541.jar" />
-
- <m2-deploy-with-pom-template pom.xml="contrib/uima/lib/solr-uima-an-alchemy-pom.xml.template"
- jar.file="contrib/uima/lib/uima-an-alchemy-2.3.1-SNAPSHOT-r1062868.jar" />
-
- <m2-deploy-with-pom-template pom.xml="contrib/uima/lib/solr-uima-an-calais-pom.xml.template"
- jar.file="contrib/uima/lib/uima-an-calais-2.3.1-SNAPSHOT-r1062868.jar" />
-
- <m2-deploy-with-pom-template pom.xml="contrib/uima/lib/solr-uima-an-tagger-pom.xml.template"
- jar.file="contrib/uima/lib/uima-an-tagger-2.3.1-SNAPSHOT-r1062868.jar" />
-
- <m2-deploy-with-pom-template pom.xml="contrib/uima/lib/solr-uima-an-wst-pom.xml.template"
- jar.file="contrib/uima/lib/uima-an-wst-2.3.1-SNAPSHOT-r1076132.jar" />
-
- <!-- ========== SOLR ARTIFACTS ========== -->
-
- <m2-deploy pom.xml="contrib/dataimporthandler/src/pom.xml"
- jar.file="${dist}/apache-solr-dataimporthandler-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-dataimporthandler-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-dataimporthandler-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="contrib/dataimporthandler/src/extras/pom.xml"
- jar.file="${dist}/apache-solr-dataimporthandler-extras-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-dataimporthandler-extras-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-dataimporthandler-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="contrib/extraction/pom.xml"
- jar.file="${dist}/apache-solr-cell-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-cell-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-cell-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="contrib/clustering/pom.xml"
- jar.file="${dist}/apache-solr-clustering-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-clustering-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-clustering-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="contrib/analysis-extras/pom.xml"
- jar.file="${dist}/apache-solr-analysis-extras-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-analysis-extras-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-analysis-extras-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="contrib/uima/pom.xml"
- jar.file="${dist}/apache-solr-uima-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-uima-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-uima-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="src/pom.xml"
- jar.file="${dist}/apache-solr-core-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-core-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-core-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="src/solrj/pom.xml"
- jar.file="${dist}/apache-solr-solrj-${version}.jar">
- <artifact-attachments>
- <attach file="${dist}/apache-solr-solrj-src-${version}.jar" classifier="sources"/>
- <attach file="${dist}/apache-solr-solrj-docs-${version}.jar" classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <m2-deploy pom.xml="src/webapp/pom.xml"
- jar.file="${dist}/apache-solr-${version}.war"/>
- </sequential>
- </target>
-
- <target name="set-fsdir">
- <property name="use.fsdir" value="true"/>
- </target>
-
- <target name="-taskdef">
- <typedef resource="org/apache/rat/anttasks/antlib.xml" uri="antlib:rat.anttasks">
- <classpath>
- <fileset dir="." includes="rat*.jar"/>
- </classpath>
- </typedef>
- </target>
- <target name="rat-sources" depends="-taskdef"
- description="runs the tasks over src/java excluding the license directory">
- <rat:report xmlns:rat="antlib:org.apache.rat.anttasks">
- <fileset dir="src/java"/>
- <fileset dir="src/test"/>
- <fileset dir="src/webapp"/>
- <fileset dir="src/common"/>
- <fileset dir="src/solrj"/>
- <fileset dir="client">
- <exclude name="**/CHANGES.*"/>
- </fileset>
- <fileset dir="contrib/dataimporthandler/src/main/java"/>
- <fileset dir="contrib/dataimporthandler/src/test/java"/>
- <fileset dir="contrib/dataimporthandler/src/extras/main/java"/>
- <fileset dir="contrib/dataimporthandler/src/extras/test/java"/>
- <fileset dir="contrib/clustering/src/main/java"/>
- <fileset dir="contrib/clustering/src/test/java"/>
- <fileset dir="contrib/extraction/src/main/java"/>
- <fileset dir="contrib/extraction/src/test/java"/>
- <fileset dir="contrib/analysis-extras/src/test"/>
- <fileset dir="contrib/analysis-extras/src/test"/>
- <fileset dir="contrib/uima/src/main/java"/>
- <fileset dir="contrib/uima/src/test/java"/>
- </rat:report>
- </target>
-
-
- <!-- ========================================================================= -->
- <!-- ===================== Runtime: luke ============================= -->
- <!-- ========================================================================= -->
- <property name="luke.version" value="1.0.1"/>
- <available file="luke/luke-${luke.version}.jar" property="luke.jar.exists" />
- <target name="luke-download" unless="luke.jar.exists" depends="proxy.setup">
- <mkdir dir="luke"/>
- <get src="http://luke.googlecode.com/files/luke-${luke.version}.jar"
- dest="luke/luke-${luke.version}.jar"/>
- </target>
- <path id="luke.classpath">
- <pathelement location="${common-solr.dir}/../lucene/build/classes/java" />
- <pathelement location="${common-solr.dir}/../lucene/build/contrib/xml-query-parser/classes/java" />
-
- </path>
- <target name="luke" depends="luke-download">
- <java fork="true"
- classname="org.getopt.luke.Luke"
- logError="true"
- failonerror="true">
- <classpath>
- <fileset dir="luke">
- <include name="luke-${luke.version}.jar"/>
- </fileset>
- <path refid="lucene.classpath"/>
- <path refid="luke.classpath"/>
- <path refid="test.run.classpath"/>
- </classpath>
- </java>
+ <target name="compile-spellchecker" unless="spellchecker.uptodate">
+ <ant dir="${common.dir}/contrib/spellchecker" target="default" inheritAll="false"/>
</target>
</project>
-
-