+++ /dev/null
-<?xml version="1.0"?>
-
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-<project name="core" default="default" basedir="."
- xmlns:artifact="antlib:org.apache.maven.artifact.ant">
-
- <property name="junit.includes" value="**/Test*.java"/>
-
- <import file="common-build.xml"/>
-
- <!-- Build classpath -->
- <path id="classpath">
- <pathelement location="${build.dir}/classes/java"/>
- </path>
-
- <path id="demo.classpath">
- <path refid="classpath"/>
- <pathelement location="${build.dir}/classes/demo"/>
- </path>
-
- <path id="test.classpath">
- <path refid="classpath"/>
- <path refid="junit-path"/>
- <pathelement location="${build.dir}/classes/test-framework"/>
- <pathelement location="${build.dir}/classes/test"/>
- </path>
-
- <path id="junit.classpath">
- <path refid="junit-path"/>
- <pathelement location="${build.dir}/classes/test-framework"/>
- <pathelement location="${build.dir}/classes/test"/>
- <pathelement location="${build.dir}/classes/java"/>
- <pathelement path="${java.class.path}"/>
- </path>
-
- <patternset id="binary.build.dist.patterns"
- includes="${final.name}*.jar,lucene-test-framework*.jar,docs/,contrib/*/*.jar,contrib/*/*.war, contrib/*/*/*.jar"
- excludes="*-src.jar"
- />
- <patternset id="binary.root.dist.patterns"
- includes="CHANGES.txt,LICENSE.txt,NOTICE.txt,README.txt,MIGRATE.txt,JRE_VERSION_MIGRATION.txt,contrib/**/README*,**/CHANGES.txt,contrib/**/*.sh contrib/**/docs/ contrib/xml-query-parser/*.dtd,lib/*.jar,lib/*LICENSE*.txt,lib/*NOTICE*.txt,contrib/*/lib/*.jar,contrib/*/lib/*LICENSE*.txt,contrib/*/lib/*NOTICE*.txt"
- />
-
-
- <!-- ================================================================== -->
- <!-- Prepares the build directory -->
- <!-- ================================================================== -->
-
- <target name="test-core" depends="common.test"
- description="Runs unit tests for the core Lucene code"
- />
- <target name="test" depends="test-core, test-contrib, test-backwards"
- description="Runs all unit tests (core, contrib and back-compat)"
- />
-
- <path id="backwards.test.compile.classpath">
- <path refid="junit-path"/>
- <path refid="ant-path"/>
- <fileset dir="${backwards.dir}/lib">
- <include name="lucene-core*.jar"/>
- </fileset>
- </path>
-
- <path id="backwards.junit.classpath">
- <path refid="junit-path"/>
- <path refid="classpath"/>
- <pathelement location="${build.dir.backwards}/classes/test"/>
- <pathelement path="${java.class.path}"/>
- </path>
-
- <!-- remove this -->
- <target name="test-tag" depends="test-backwards" description="deprecated"/>
-
- <target name="compile-backwards" depends="compile-core"
- description="Runs tests of a previous Lucene version.">
- <sequential>
- <mkdir dir="${build.dir.backwards}"/>
-
- <!-- compile branch tests against previous version JAR file -->
- <compile-test-macro srcdir="${backwards.dir}/src/test-framework" destdir="${build.dir.backwards}/classes/test"
- test.classpath="backwards.test.compile.classpath" javac.source="${javac.source.backwards}" javac.target="${javac.target.backwards}"/>
- <compile-test-macro srcdir="${backwards.dir}/src/test" destdir="${build.dir.backwards}/classes/test"
- test.classpath="backwards.test.compile.classpath" javac.source="${javac.source.backwards}" javac.target="${javac.target.backwards}"/>
-
-
- </sequential>
- </target>
-
- <target name="test-backwards" depends="compile-backwards, backwards-test-warning, junit-backwards-mkdir, junit-backwards-sequential, junit-backwards-parallel"/>
-
- <target name="junit-backwards-mkdir">
- <mkdir dir="${build.dir.backwards}/test"/>
- </target>
-
- <target name="check-backwards-params">
- <condition property="backwards.ignoring.params">
- <or>
- <istrue value="${tests.nightly}"/>
- <not><equals arg1="${tests.multiplier}" arg2="1"/></not>
- </or>
- </condition>
- </target>
-
- <target name="backwards-test-warning" depends="check-backwards-params" if="backwards.ignoring.params">
- <echo>
- Warning: Ignoring your multiplier and nightly settings for backwards tests.
- These tests are for API compatibility only!
- </echo>
- </target>
-
- <macrodef name="backwards-test-macro">
- <attribute name="threadNum" default="1"/>
- <attribute name="threadTotal" default="1"/>
- <sequential>
- <!-- run branch tests against trunk jar:
- Note: we disable multiplier/nightly because the purpose is to find API breaks
- -->
- <test-macro
- dataDir="${backwards.dir}/src/test"
- tempDir="${build.dir.backwards}/test"
- junit.classpath="backwards.junit.classpath"
- junit.output.dir="${junit.output.dir.backwards}"
- tests.nightly="false"
- tests.multiplier="1"
- threadNum="@{threadNum}"
- threadTotal="@{threadTotal}"/>
- </sequential>
- </macrodef>
-
- <target name="junit-backwards-sequential" if="tests.sequential">
- <backwards-test-macro/>
- </target>
-
- <target name="junit-backwards-parallel" unless="tests.sequential">
- <parallel threadsPerProcessor="${tests.threadspercpu}">
- <backwards-test-macro threadNum="1" threadTotal="8"/>
- <backwards-test-macro threadNum="2" threadTotal="8"/>
- <backwards-test-macro threadNum="3" threadTotal="8"/>
- <backwards-test-macro threadNum="4" threadTotal="8"/>
- <backwards-test-macro threadNum="5" threadTotal="8"/>
- <backwards-test-macro threadNum="6" threadTotal="8"/>
- <backwards-test-macro threadNum="7" threadTotal="8"/>
- <backwards-test-macro threadNum="8" threadTotal="8"/>
- </parallel>
- </target>
-
- <!-- ================================================================== -->
- <!-- J A R -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
-
- <target name="compile-core" depends="jflex-notice, javacc-notice, common.compile-core"/>
-
- <!-- ================================================================== -->
- <!-- D O C U M E N T A T I O N -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
- <target name="docs">
- <!-- copies the docs over to the docs folder -->
- <copy todir="build/docs">
- <fileset dir="src/site/build/site"/>
- </copy>
- </target>
-
- <target name="javadoc" depends="javadocs"/>
- <target name="javadocs" description="Generate javadoc"
- depends="javadocs-all, javadocs-core, javadocs-contrib, javadocs-test-framework">
- <echo file="${javadoc.dir}/index.html" append="false">
-<![CDATA[<html><head><title>${Name} ${version} Javadoc Index</title></head>
-<body>
-<h1>${Name} ${version} Javadoc Index</h1>
-<ul>
- <li><a href="all/index.html">All</a></li>
- <li><a href="core/index.html">Core</a></li>
- <li><a href="test-framework/index.html">Test Framework</a></li>
- <li>Contrib packages:</li>
- <ul>
-]]></echo>
- <contrib-crawl target="javadocs-index.html" failonerror="false"/>
- <echo file="${javadoc.dir}/index.html" append="true"><![CDATA[
- </ul>
-</ul></body>]]></echo>
- </target>
-
- <target name="javadocs-core" description="Generate javadoc for core classes">
- <sequential>
- <mkdir dir="${javadoc.dir}/core"/>
- <invoke-javadoc
- destdir="${javadoc.dir}/core"
- title="${Name} ${version} core API">
- <sources>
- <packageset dir="src/java"/>
- <link href=""/>
- </sources>
- </invoke-javadoc>
- <jarify basedir="${javadoc.dir}/core" destfile="${build.dir}/${final.name}-javadoc.jar"/>
- </sequential>
- </target>
-
- <target name="javadocs-contrib" description="Generate javadoc for contrib classes">
- <contrib-crawl target="javadocs"
- failonerror="false"/>
- </target>
-
- <target name="javadocs-all" description="Generate javadoc for core and contrib classes">
- <sequential>
- <mkdir dir="${javadoc.dir}/all"/>
-
- <path id="javadoc.classpath">
- <path refid="classpath"/>
- <pathelement location="${ant.home}/lib/ant.jar"/>
- <fileset dir=".">
- <exclude name="build/**/*.jar"/>
- <include name="**/lib/*.jar"/>
- </fileset>
- </path>
-
- <invoke-javadoc
- destdir="${javadoc.dir}/all">
- <sources>
- <!-- TODO: find a dynamic way to do include multiple source roots -->
- <packageset dir="src/java"/>
-
- <!-- please keep this list up to date, and in alpha order... -->
-
- <!-- ie: `find contrib/* -path \*src/java | sort` -->
-
- <!-- if you make changes to the list of package sets, also -->
- <!-- make sure the group list below is updated. -->
- <!-- Also remember to keep site.xml in sync. -->
-
- <packageset dir="contrib/analyzers/common/src/java"/>
- <packageset dir="contrib/analyzers/smartcn/src/java"/>
- <packageset dir="contrib/analyzers/stempel/src/java"/>
- <packageset dir="contrib/benchmark/src/java"/>
- <packageset dir="contrib/demo/src/java"/>
- <packageset dir="contrib/grouping/src/java"/>
- <packageset dir="contrib/icu/src/java"/>
- <packageset dir="contrib/highlighter/src/java"/>
- <packageset dir="contrib/instantiated/src/java"/>
- <packageset dir="contrib/join/src/java"/>
- <packageset dir="contrib/memory/src/java"/>
- <packageset dir="contrib/misc/src/java"/>
- <packageset dir="contrib/queries/src/java"/>
- <packageset dir="contrib/remote/src/java"/>
- <packageset dir="contrib/spatial/src/java"/>
- <packageset dir="contrib/spellchecker/src/java"/>
- <packageset dir="contrib/xml-query-parser/src/java"/>
- <packageset dir="contrib/queryparser/src/java"/>
- <!-- end alpha sort -->
-
- <!-- If the main javadoc Group listing includes an "Other -->
- <!-- Packages" group after the ones listed here, then those -->
- <!-- packages are not being matched by any of these rules -->
-
- <group title="Core" packages="org.apache.*:org.apache.lucene.analysis:org.apache.lucene.analysis.standard*:org.apache.lucene.analysis.tokenattributes*"/>
-
- <group title="contrib: Analysis" packages="org.apache.lucene.analysis.*:org.tartarus.snowball*:org.egothor.stemmer*"/>
- <group title="contrib: Benchmark" packages="org.apache.lucene.benchmark*"/>
- <group title="contrib: ICU" packages="org.apache.lucene.collation*"/>
- <group title="contrib: Demo" packages="org.apache.lucene.demo*"/>
- <group title="contrib: Grouping" packages="org.apache.lucene.search.grouping*"/>
- <group title="contrib: Highlighter" packages="org.apache.lucene.search.highlight*:org.apache.lucene.search.vectorhighlight*"/>
- <group title="contrib: Instantiated" packages="org.apache.lucene.store.instantiated*"/>
- <group title="contrib: Join" packages="org.apache.lucene.search.join*"/>
- <group title="contrib: Memory" packages="org.apache.lucene.index.memory*"/>
- <group title="contrib: Misc " packages="org.apache.lucene.misc*"/>
- <group title="contrib: Queries" packages="org.apache.lucene.search.similar*:org.apache.lucene.search.regex*:org.apache.regexp*"/>
- <group title="contrib: Query Parser" packages="org.apache.lucene.queryParser.*"/>
- <group title="contrib: Spatial" packages="org.apache.lucene.spatial*"/>
- <group title="contrib: SpellChecker" packages="org.apache.lucene.search.spell*"/>
- <group title="contrib: XML Query Parser" packages="org.apache.lucene.xmlparser*"/>
-
- </sources>
- </invoke-javadoc>
- </sequential>
- </target>
-
-
- <!-- ================================================================== -->
- <!-- D I S T R I B U T I O N -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
- <target name="package" depends="jar-core, jar-test-framework, docs, javadocs, build-contrib, init-dist, changes-to-html"/>
-
- <target name="nightly" depends="test, package-tgz">
- </target>
-
- <!-- ================================================================== -->
- <!-- Packages the distribution with zip -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
- <target name="package-zip" depends="package"
- description="--> Generates the Lucene distribution as .zip">
-
- <delete file="${dist.dir}/lucene-${version}.zip"/>
- <zip destfile="${dist.dir}/lucene-${version}.zip">
- <zipfileset prefix="lucene-${version}" dir=".">
- <patternset refid="binary.root.dist.patterns"/>
- </zipfileset>
- <zipfileset dir="${build.dir}" includes="build-demo.xml" fullpath="lucene-${version}/build.xml"/>
- <zipfileset prefix="lucene-${version}" dir="${build.dir}">
- <patternset refid="binary.build.dist.patterns"/>
- </zipfileset>
- </zip>
- <make-checksums file="${dist.dir}/lucene-${version}.zip"/>
- </target>
-
- <!-- ================================================================== -->
- <!-- packages the distribution with tar-gzip -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
- <target name="package-tgz" depends="package"
- description="--> Generates the lucene distribution as .tgz">
-
- <delete file="${build.dir}/lucene-${version}.tar"/>
- <delete file="${dist.dir}/lucene-${version}.tgz"/>
- <tar tarfile="${build.dir}/lucene-${version}.tar" longfile="gnu">
- <tarfileset prefix="lucene-${version}" dir=".">
- <patternset refid="binary.root.dist.patterns"/>
- </tarfileset>
- <tarfileset prefix="lucene-${version}" dir="${build.dir}">
- <patternset refid="binary.build.dist.patterns"/>
- </tarfileset>
- </tar>
-
- <gzip zipfile="${dist.dir}/lucene-${version}.tgz"
- src="${build.dir}/lucene-${version}.tar"
- />
- <make-checksums file="${dist.dir}/lucene-${version}.tgz"/>
- </target>
-
- <!-- ================================================================== -->
- <!-- packages the distribution with zip and tar-gzip -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
- <target name="package-all-binary" depends="package-zip, package-tgz"
- description="--> Generates the .tgz and .zip distributions"/>
-
- <!-- ================================================================== -->
- <!-- same as package-all. it is just here for compatibility. -->
- <!-- ================================================================== -->
- <!-- -->
- <!-- ================================================================== -->
- <target name="dist" depends="package-all-binary"/>
-
- <!-- ================================================================== -->
- <!-- S O U R C E D I S T R I B U T I O N -->
- <!-- ================================================================== -->
- <target name="init-dist" >
-
- <!-- Package is not called first if packaging src standalone, so the dist.dir may not exist -->
- <mkdir dir="${build.dir}"/>
- <mkdir dir="${dist.dir}"/>
- <mkdir dir="${maven.dist.dir}"/>
- </target>
-
- <!-- ================================================================== -->
- <!-- Packages the sources from "svn export" with tar-gzip -->
- <!-- ================================================================== -->
- <target name="package-tgz-src" depends="init, init-dist"
- description="--> Generates the Lucene source distribution from 'svn export' as .tgz">
- <property name="source.package.file"
- value="${dist.dir}/lucene-${version}-src.tgz"/>
- <delete file="${source.package.file}"/>
- <svn-export-source source.dir="."/>
- <build-changes changes.src.dir="${svn.export.dir}/src/site/changes"
- changes.target.dir="${svn.export.dir}/docs/changes"/>
- <tar tarfile="${source.package.file}" compression="gzip" longfile="gnu">
- <tarfileset prefix="lucene-${version}" dir="${svn.export.dir}"/>
- </tar>
- <make-checksums file="${source.package.file}"/>
- </target>
-
- <!-- ================================================================== -->
- <!-- Packages the sources from local working copy with tar-gzip -->
- <!-- ================================================================== -->
- <target name="package-local-src-tgz" depends="init"
- description="--> Packages the Lucene source from the local working copy">
- <mkdir dir="${common.dir}/build"/>
- <property name="source.package.file"
- value="${common.dir}/build/lucene-${version}-src.tgz"/>
- <delete file="${source.package.file}"/>
- <tar tarfile="${source.package.file}" compression="gzip" longfile="gnu">
- <tarfileset prefix="lucene-${version}" dir=".">
- <patternset refid="lucene.local.src.package.patterns"/>
- </tarfileset>
- </tar>
- </target>
-
- <!-- ================================================================== -->
- <!-- same as package-tgz-src. it is just here for compatibility. -->
- <!-- ================================================================== -->
- <target name="dist-src" depends="package-tgz-src"/>
-
- <target name="dist-all" depends="dist, dist-src"/>
-
- <target name="copy-to-stage">
- <copy-to-stage-macro artifacts.dir="${dist.dir}"/>
- </target>
-
- <target name="prepare-release" depends="clean, dist-all, generate-maven-artifacts, sign-artifacts"/>
-
- <target name="stage" depends="prepare-release, copy-to-stage"/>
-
- <target name="generate-maven-artifacts"
- depends="package, jar-src, jar-test-framework-src, javadocs">
- <taskdef resource="org/apache/maven/artifact/ant/antlib.xml"
- uri="antlib:org.apache.maven.artifact.ant"
- classpathref="maven-ant-tasks.classpath"/>
- <sequential>
- <ant target="get-maven-poms" dir=".."/>
-
- <m2-deploy pom.xml="../pom.xml"/> <!-- Lucene/Solr grandparent POM -->
- <m2-deploy pom.xml="pom.xml"/> <!-- Lucene parent POM -->
- <m2-deploy pom.xml="src/pom.xml"> <!-- Lucene core POM -->
- <artifact-attachments>
- <attach file="${build.dir}/${final.name}-src.jar"
- classifier="sources"/>
- <attach file="${build.dir}/${final.name}-javadoc.jar"
- classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
- <m2-deploy pom.xml="src/test-framework/pom.xml"
- jar.file="${build.dir}/lucene-test-framework-${version}.jar">
- <artifact-attachments>
- <attach file="${build.dir}/lucene-test-framework-${version}-src.jar"
- classifier="sources"/>
- <attach file="${build.dir}/lucene-test-framework-${version}-javadoc.jar"
- classifier="javadoc"/>
- </artifact-attachments>
- </m2-deploy>
-
- <contrib-crawl target="dist-maven"/>
- </sequential>
- </target>
-
- <!-- ================================================================== -->
- <!-- support for signing the artifacts using gpg -->
- <!-- ================================================================== -->
- <target name="sign-artifacts">
- <sign-artifacts-macro artifacts.dir="${dist.dir}"/>
- </target>
-
- <!-- ================================================================== -->
- <!-- Build the JavaCC files into the source tree -->
- <!-- ================================================================== -->
- <target name="clean-javacc">
- <delete>
- <fileset dir="src/java/org/apache/lucene/queryParser" includes="*.java">
- <containsregexp expression="Generated.*By.*JavaCC"/>
- </fileset>
- <fileset dir="contrib/queryparser/src/java/org/apache/lucene/queryParser/surround/parser" includes="*.java">
- <containsregexp expression="Generated.*By.*JavaCC"/>
- </fileset>
- <fileset dir="contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser" includes="*.java">
- <containsregexp expression="Generated.*By.*JavaCC"/>
- </fileset>
- </delete>
- </target>
-
- <target name="javacc" depends="init,javacc-check,clean-javacc,javacc-QueryParser,javacc-contrib-queryparser,javacc-contrib-demo"/>
-
- <target name="javacc-QueryParser" depends="init,javacc-check" if="javacc.present">
- <sequential>
- <invoke-javacc target="src/java/org/apache/lucene/queryParser/QueryParser.jj"
- outputDir="src/java/org/apache/lucene/queryParser"/>
-
- <!-- Change the inccorrect public ctors for QueryParser to be protected instead -->
- <replaceregexp file="src/java/org/apache/lucene/queryParser/QueryParser.java"
- byline="true"
- match="public QueryParser\(CharStream "
- replace="protected QueryParser(CharStream "/>
- <replaceregexp file="src/java/org/apache/lucene/queryParser/QueryParser.java"
- byline="true"
- match="public QueryParser\(QueryParserTokenManager "
- replace="protected QueryParser(QueryParserTokenManager "/>
-
- </sequential>
- </target>
-
- <target name="javacc-contrib-queryparser" depends="init,javacc-check" if="javacc.present">
- <ant target="javacc"
- dir="contrib/queryparser"
- antfile="build.xml"
- />
- </target>
-
- <target name="javacc-contrib-demo" depends="init,javacc-check" if="javacc.present">
- <ant target="javacc"
- dir="contrib/demo"
- antfile="build.xml"
- />
- </target>
-
- <!-- ================================================================== -->
- <!-- Build the JFlex files into the source tree -->
- <!-- ================================================================== -->
-
- <target name="jflex" depends="jflex-check,clean-jflex,gen-uax29-supp-macros,
- jflex-StandardAnalyzer,jflex-UAX29URLEmailTokenizer"/>
-
- <target name="gen-uax29-supp-macros">
- <subant target="gen-uax29-supp-macros">
- <fileset dir="contrib/icu" includes="build.xml"/>
- </subant>
- </target>
-
- <target name="jflex-StandardAnalyzer" depends="init,jflex-check" if="jflex.present">
- <taskdef classname="jflex.anttask.JFlexTask" name="jflex">
- <classpath refid="jflex.classpath"/>
- </taskdef>
-
- <jflex file="src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex"
- outdir="src/java/org/apache/lucene/analysis/standard"
- nobak="on" />
- <jflex file="src/java/org/apache/lucene/analysis/standard/ClassicTokenizerImpl.jflex"
- outdir="src/java/org/apache/lucene/analysis/standard"
- nobak="on" />
- <jflex file="src/java/org/apache/lucene/analysis/standard/std31/StandardTokenizerImpl31.jflex"
- outdir="src/java/org/apache/lucene/analysis/standard/std31"
- nobak="on" />
- </target>
-
- <target name="jflex-UAX29URLEmailTokenizer" depends="jflex-check" if="jflex.present">
- <taskdef classname="jflex.anttask.JFlexTask" name="jflex">
- <classpath refid="jflex.classpath"/>
- </taskdef>
- <jflex file="src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl.jflex"
- outdir="src/java/org/apache/lucene/analysis/standard"
- nobak="on" />
- <jflex file="src/java/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizerImpl31.jflex"
- outdir="src/java/org/apache/lucene/analysis/standard/std31"
- nobak="on" />
- </target>
-
- <property name="tld.zones" value="http://www.internic.net/zones/root.zone"/>
- <property name="tld.output" location="src/java/org/apache/lucene/analysis/standard/ASCIITLD.jflex-macro"/>
-
- <target name="gen-tlds" depends="compile-tools">
- <java
- classname="org.apache.lucene.analysis.standard.GenerateJflexTLDMacros"
- dir="."
- fork="true"
- failonerror="true">
- <classpath>
- <pathelement location="${build.dir}/classes/tools"/>
- </classpath>
- <arg value="${tld.zones}"/>
- <arg value="${tld.output}"/>
- </java>
- </target>
-
- <target name="clean-jflex">
- <delete>
- <fileset dir="src/java/org/apache/lucene/analysis/standard" includes="**/*.java">
- <containsregexp expression="generated.*by.*JFlex"/>
- </fileset>
- </delete>
- </target>
-
- <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="test-contrib" depends="build-contrib">
- <contrib-crawl target="test" failonerror="true"/>
- </target>
-
- <!--
- compile changes.txt into an html file
- -->
- <macrodef name="build-changes">
- <attribute name="changes.src.dir" default="${changes.src.dir}"/>
- <attribute name="changes.target.dir" default="${changes.target.dir}"/>
- <sequential>
- <mkdir dir="@{changes.target.dir}"/>
- <exec executable="perl" input="CHANGES.txt" output="@{changes.target.dir}/Changes.html"
- failonerror="true" logError="true">
- <arg value="@{changes.src.dir}/changes2html.pl"/>
- </exec>
- <exec executable="perl" input="contrib/CHANGES.txt" output="@{changes.target.dir}/Contrib-Changes.html"
- failonerror="true" logError="true">
- <arg value="@{changes.src.dir}/changes2html.pl"/>
- </exec>
- <copy todir="@{changes.target.dir}">
- <fileset dir="@{changes.src.dir}" includes="*.css"/>
- </copy>
- </sequential>
- </macrodef>
-
- <target name="changes-to-html">
- <build-changes changes.src.dir="${changes.src.dir}" changes.target.dir="${changes.target.dir}" />
- </target>
-
- <!--
- Committer helpers
- -->
-
- <property name="patch.file" value="${basedir}/../patches/${patch.name}"/>
- <!-- Apply a patch. Assumes patch can be applied in the basedir.
- -Dpatch.name assumes the patch is located in ${basedir}/../patches/${patch.name}
- -Dpatch.file means the patch can be located anywhere on the file system
- -->
- <target name="apply-patch" depends="clean" description="Apply a patch file. Set -Dpatch.file, or -Dpatch.name when the patch is in the directory ../patches/">
- <patch patchfile="${patch.file}" strip="0"/>
- </target>
-
- <target name="jar-test-framework" depends="compile-test-framework">
- <jarify basedir="${build.dir}/classes/test-framework" destfile="${build.dir}/lucene-test-framework-${version}.jar"
- title="Lucene Search Engine: Test Framework" />
- </target>
-
- <target name="javadocs-test-framework">
- <sequential>
- <mkdir dir="${javadoc.dir}/test-framework"/>
- <invoke-javadoc
- overview="src/test-framework/overview.html"
- destdir="${javadoc.dir}/test-framework"
- title="${Name} ${version} Test Framework API">
- <sources>
- <packageset dir="src/test-framework"/>
- <link href=""/>
- </sources>
- </invoke-javadoc>
- <jarify basedir="${javadoc.dir}/test-framework" destfile="${build.dir}/lucene-test-framework-${version}-javadoc.jar"
- title="Lucene Search Engine: Test Framework" />
- </sequential>
- </target>
-
- <target name="jar-test-framework-src" depends="init">
- <jarify basedir="${tests-framework.src.dir}" destfile="${build.dir}/lucene-test-framework-${version}-src.jar"
- title="Lucene Search Engine: Test Framework" />
- </target>
-
- <!-- Override common-build.xml definition to check for the jar already being up-to-date -->
- <target name="jar-core" depends="check-lucene-core-uptodate,compile-core" unless="lucene-core.uptodate">
- <jarify/>
- </target>
-</project>