| <?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="."> |
| |
| <property name="junit.includes" value="**/Test*.java"/> |
| |
| <import file="common-build.xml"/> |
| |
| <property name="build.demo.template" value="src/demo/demo-build.template"/> |
| |
| <property name="demo.name" value="lucene-demos-${version}"/> |
| <property name="demo.war.name" value="luceneweb"/> |
| |
| <!-- Type of checksum to compute for distribution files --> |
| <property name="checksum.algorithm" value="md5" /> |
| |
| <!-- Build classpath --> |
| <path id="classpath"> |
| <pathelement location="${build.dir}/classes/java"/> |
| </path> |
| |
| <path id="tag.classpath"> |
| <pathelement location="${build.dir}/${tag}/classes/java"/> |
| </path> |
| |
| <path id="demo.classpath"> |
| <path refid="classpath"/> |
| <pathelement location="${build.dir}/classes/demo"/> |
| </path> |
| |
| <path id="test.classpath"> |
| <path refid="demo.classpath"/> |
| <path refid="junit-path"/> |
| <pathelement location="${build.dir}/classes/test"/> |
| </path> |
| |
| |
| <path id="junit.classpath"> |
| <path refid="junit-path"/> |
| <pathelement location="${build.dir}/classes/test"/> |
| <pathelement location="${build.dir}/classes/java"/> |
| <pathelement location="${build.dir}/classes/demo"/> |
| <pathelement path="${java.class.path}"/> |
| </path> |
| |
| <patternset id="src.dist.patterns" |
| includes="src/,build.xml,*build*.xml,docs/,*.txt,contrib/,*pom.xml*,lib/" |
| excludes="contrib/db/*/lib/,contrib/*/ext-libs/,src/site/build/,contrib/benchmark/temp/**,contrib/benchmark/work/**" |
| /> |
| <patternset id="binary.build.dist.patterns" |
| includes="${final.name}.jar,${demo.war.name}.war,${demo.name}.jar,docs/,contrib/*/*.jar,contrib/*/*.war, contrib/*/*/*.jar" |
| /> |
| <patternset id="binary.root.dist.patterns" |
| includes="src/demo/,src/jsp/,docs/,*.txt,contrib/*/README*,**/CHANGES.txt,lib/servlet-api-*.jar" |
| excludes="${build.demo.template}" |
| /> |
| |
| |
| <!-- ================================================================== --> |
| <!-- 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-tag" |
| description="Runs all unit tests (core, contrib and back-compat)" |
| /> |
| |
| <property name="tag" value="${compatibility.tag}"/> |
| |
| <path id="tag.test.classpath"> |
| <path refid="junit-path"/> |
| <pathelement location="${build.dir}/classes/demo"/> |
| <pathelement location="${build.dir}/${tag}/${tag}.jar"/> |
| </path> |
| |
| <path id="tag.junit.classpath"> |
| <path refid="junit-path"/> |
| <pathelement location="${build.dir}/${tag}/classes/test"/> |
| <pathelement location="${build.dir}/${final.name}.jar"/> |
| <pathelement location="${build.dir}/classes/demo"/> |
| <pathelement path="${java.class.path}"/> |
| </path> |
| |
| <target name="download-tag" |
| description="Downloads a previous Lucene version. Specify tag version like this: -Dtag=lucene_2_4_back_compat_tests_20090127"> |
| <sequential> |
| <mkdir dir="${tags.dir}/${tag}"/> |
| <exec dir="${tags.dir}/${tag}" executable="${svn.exe}" |
| failifexecutionfails="false"> |
| <arg line="checkout http://svn.apache.org/repos/asf/lucene/java/tags/${tag}/src/"/> |
| </exec> |
| </sequential> |
| </target> |
| |
| <target name="test-tag" depends="download-tag, compile-core, compile-demo, jar-core" |
| description="Runs tests of a previous Lucene version. Specify tag version like this: -Dtag=branches/lucene_2_4_back_compat_tests"> |
| <sequential> |
| <available property="tag.available" file="${tags.dir}/${tag}/src/test" /> |
| |
| <fail unless="tag.available"> |
| Specified tag '${tag}' could not be found in directory '${tags.dir}/${tag}'. |
| </fail> |
| <mkdir dir="${build.dir}/${tag}"/> |
| |
| <!-- first compile tag classes --> |
| <compile |
| srcdir="${tags.dir}/${tag}/src/java" |
| destdir="${build.dir}/${tag}/classes/java"> |
| <classpath refid="tag.classpath"/> |
| </compile> |
| |
| <!-- compile jar for tag --> |
| <jarify basedir="${build.dir}/${tag}/classes/java" |
| destfile="${build.dir}/${tag}/${tag}.jar" /> |
| |
| <!-- compile tag tests against tag jar --> |
| <compile-test-macro srcdir="${tags.dir}/${tag}/src/test" destdir="${build.dir}/${tag}/classes/test" |
| test.classpath="tag.test.classpath"/> |
| |
| <!-- run tag tests against trunk jar --> |
| <test-macro dataDir="${tags.dir}/${tag}/src/test" |
| tempDir="${build.dir}/${tag}" |
| junit.classpath="tag.junit.classpath"/> |
| </sequential> |
| </target> |
| |
| |
| <target name="clean-tags" |
| description="Removes contents of the tags directory"> |
| <delete dir="${tags.dir}"/> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- J A R --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| |
| <target name="jar-demo" depends="compile-demo"> |
| <sequential> |
| <build-manifest title="Lucene Search Engine: demos"/> |
| <jar |
| destfile="${build.dir}/${demo.name}.jar" |
| basedir="${build.dir}/classes/demo" |
| excludes="**/*.java" |
| manifest="${manifest.file}"> |
| <metainf dir="${common.dir}"> |
| <include name="LICENSE.txt"/> |
| <include name="NOTICE.txt"/> |
| </metainf> |
| </jar> |
| </sequential> |
| </target> |
| |
| <target name="jar-demo-src" depends="compile-demo"> |
| <sequential> |
| <build-manifest title="Lucene Search Engine: demos"/> |
| <jar |
| destfile="${build.dir}/${demo.name}-src.jar" |
| basedir="src/demo" |
| manifest="${manifest.file}"> |
| <metainf dir="${common.dir}"> |
| <include name="LICENSE.txt"/> |
| <include name="NOTICE.txt"/> |
| </metainf> |
| </jar> |
| </sequential> |
| </target> |
| |
| <target name="war-demo" depends="jar-core,jar-demo"> |
| <sequential> |
| <build-manifest title="Lucene Search Engine: demos"/> |
| <war destfile="${build.dir}/${demo.war.name}.war" |
| webxml="src/jsp/WEB-INF/web.xml" |
| manifest="${manifest.file}"> |
| <fileset dir="src/jsp" excludes="WEB-INF/web.xml"/> |
| <lib dir="${build.dir}" includes="${demo.name}.jar"/> |
| <lib dir="${build.dir}" includes="${final.name}.jar"/> |
| <metainf dir="${common.dir}"> |
| <include name="LICENSE.txt"/> |
| <include name="NOTICE.txt"/> |
| </metainf> |
| </war> |
| </sequential> |
| </target> |
| |
| |
| <!-- ================================================================== --> |
| <!-- B U I L D D E M O --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="compile-demo" depends="compile-core"> |
| <mkdir dir="${build.dir}/classes/demo"/> |
| |
| <compile |
| srcdir="src/demo" |
| destdir="${build.dir}/classes/demo"> |
| <classpath refid="demo.classpath"/> |
| </compile> |
| </target> |
| |
| <!-- TODO: Remove dependency on demo from test --> |
| <target name="compile-test" depends="compile-demo,common.compile-test"/> |
| |
| |
| |
| <!-- ================================================================== --> |
| <!-- D O C U M E N T A T I O N --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="docs" description="Build the website"> |
| <echo>DEPRECATED - Doing Nothing. See http://wiki.apache.org/lucene-java/HowToUpdateTheWebsite</echo> |
| </target> |
| |
| <target name="javadocs" description="Generate javadoc" |
| depends="javadocs-all, javadocs-core, javadocs-demo, javadocs-contrib"> |
| <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>Contrib packages:</li> |
| <ul> |
| ]]></echo> |
| <contrib-crawl target="javadocs-index.html" failonerror="false"/> |
| <echo file="${javadoc.dir}/index.html" append="true"><![CDATA[ |
| </ul> |
| <li><a href="demo/index.html">Demo</a></li> |
| </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-demo" description="Generate javadoc for demo classes"> |
| <sequential> |
| <mkdir dir="${javadoc.dir}/demo"/> |
| <invoke-javadoc |
| destdir="${javadoc.dir}/demo" |
| title="${Name} ${version} demo API"> |
| <sources> |
| <packageset dir="src/demo"/> |
| <link href=""/> |
| </sources> |
| </invoke-javadoc> |
| <jarify basedir="${javadoc.dir}/demo" destfile="${build.dir}/${demo.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, demo and contrib classes" depends="build-contrib"> |
| <sequential> |
| <mkdir dir="${javadoc.dir}/all"/> |
| <invoke-javadoc |
| destdir="${javadoc.dir}/all"> |
| <sources> |
| <!-- TODO: find a dynamic way to do include multiple source roots --> |
| <packageset dir="src/java"/> |
| |
| <packageset dir="src/demo"/> |
| |
| <!-- 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/ant/src/java"/> |
| <packageset dir="contrib/benchmark/src/java"/> |
| <packageset dir="contrib/collation/src/java"/> |
| <packageset dir="contrib/db/bdb-je/src/java"/> |
| <packageset dir="contrib/db/bdb/src/java"/> |
| <packageset dir="contrib/fast-vector-highlighter/src/java"/> |
| <packageset dir="contrib/highlighter/src/java"/> |
| <packageset dir="contrib/instantiated/src/java"/> |
| <packageset dir="contrib/lucli/src/java"/> |
| <packageset dir="contrib/memory/src/java"/> |
| <packageset dir="contrib/misc/src/java"/> |
| <packageset dir="contrib/queries/src/java"/> |
| <packageset dir="contrib/regex/src/java"/> |
| <packageset dir="contrib/remote/src/java"/> |
| <packageset dir="contrib/snowball/src/java"/> |
| <packageset dir="contrib/spatial/src/java"/> |
| <packageset dir="contrib/spellchecker/src/java"/> |
| <packageset dir="contrib/surround/src/java"/> |
| <packageset dir="contrib/swing/src/java"/> |
| <packageset dir="contrib/wikipedia/src/java"/> |
| <packageset dir="contrib/wordnet/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="Demo" packages="org.apache.lucene.demo*"/> |
| |
| <group title="contrib: Analysis" packages="org.apache.lucene.analysis.*"/> |
| <group title="contrib: Ant" packages="org.apache.lucene.ant*"/> |
| <group title="contrib: Benchmark" packages="org.apache.lucene.benchmark*"/> |
| <group title="contrib: Collation" packages="org.apache.lucene.collation*"/> |
| <group title="contrib: DB" packages="org.apache.lucene.store.db*:org.apache.lucene.store.je*:com.sleepycat*"/> |
| <group title="contrib: Fast Vector Highlighter" packages="org.apache.lucene.search.vectorhighlight*"/> |
| <group title="contrib: Highlighter" packages="org.apache.lucene.search.highlight*"/> |
| <group title="contrib: Instantiated" packages="org.apache.lucene.store.instantiated*"/> |
| <group title="contrib: Lucli" packages="lucli*"/> |
| <group title="contrib: Memory" packages="org.apache.lucene.index.memory*"/> |
| <group title="contrib: Misc " packages="org.apache.lucene.misc*:org.apache.lucene.queryParser.analyzing*:org.apache.lucene.queryParser.precedence*"/> |
| <group title="contrib: Queries" packages="org.apache.lucene.search.similar*"/> |
| <group title="contrib: Query Parser" packages="org.apache.lucene.queryParser.*"/> |
| <group title="contrib: RegEx" packages="org.apache.lucene.search.regex*:org.apache.regexp*"/> |
| <group title="contrib: Snowball" packages="org.apache.lucene.analysis.snowball*:net.sf.snowball*"/> |
| <group title="contrib: Spatial" packages="org.apache.lucene.spatial*"/> |
| <group title="contrib: SpellChecker" packages="org.apache.lucene.search.spell*"/> |
| <group title="contrib: Surround Parser" packages="org.apache.lucene.queryParser.surround*"/> |
| <group title="contrib: Swing" packages="org.apache.lucene.swing*"/> |
| <group title="contrib: Wikipedia" packages="org.apache.lucene.wikipedia*"/> |
| <group title="contrib: WordNet" packages="org.apache.lucene.wordnet*"/> |
| <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, javadocs, war-demo, build-contrib, init-dist, changes-to-html"> |
| <copy file="${build.demo.template}" tofile="${build.dir}/build-demo.xml"> |
| <filterset begintoken="@PLACEHOLDER_" endtoken="@"> |
| <filter token="version" value="${version}"/> |
| <filter token="javac.source" value="${javac.source}"/> |
| <filter token="javac.target" value="${javac.target}"/> |
| </filterset> |
| </copy> |
| </target> |
| |
| <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> |
| <lucene-checksum 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 .tar.gz"> |
| |
| <delete file="${build.dir}/lucene-${version}.tar"/> |
| <delete file="${dist.dir}/lucene-${version}.tar.gz"/> |
| <tar tarfile="${build.dir}/lucene-${version}.tar" longfile="gnu"> |
| <tarfileset prefix="lucene-${version}" dir="."> |
| <patternset refid="binary.root.dist.patterns"/> |
| </tarfileset> |
| <tarfileset dir="${build.dir}" includes="build-demo.xml" fullpath="lucene-${version}/build.xml"/> |
| <tarfileset prefix="lucene-${version}" dir="${build.dir}"> |
| <patternset refid="binary.build.dist.patterns"/> |
| </tarfileset> |
| </tar> |
| |
| <gzip zipfile="${dist.dir}/lucene-${version}.tar.gz" |
| src="${build.dir}/lucene-${version}.tar" |
| /> |
| <lucene-checksum file="${dist.dir}/lucene-${version}.tar.gz"/> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- packages the distribution with zip and tar-gzip --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-all-binary" depends="package-zip, package-tgz" |
| description="--> Generates the .tar.gz 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 with zip --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-zip-src" depends="init, init-dist" |
| description="--> Generates the Lucene sources as .zip"> |
| <zip destfile="${dist.dir}/lucene-${version}-src.zip"> |
| <zipfileset prefix="lucene-${version}" dir="."> |
| <patternset refid="src.dist.patterns"/> |
| </zipfileset> |
| </zip> |
| <lucene-checksum file="${dist.dir}/lucene-${version}-src.zip"/> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Packages the sources with tar-gzip --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-tgz-src" depends="init, init-dist" |
| description="--> Generates the Lucene distribution as .tar.gz"> |
| |
| <delete file="${build.dir}/lucene-${version}-src.tar"/> |
| <delete file="${dist.dir}/lucene-${version}-src.tar.gz"/> |
| <tar tarfile="${build.dir}/lucene-${version}-src.tar" longfile="gnu"> |
| <tarfileset prefix="lucene-${version}" dir="."> |
| <patternset refid="src.dist.patterns"/> |
| </tarfileset> |
| </tar> |
| |
| <gzip zipfile="${dist.dir}/lucene-${version}-src.tar.gz" |
| src="${build.dir}/lucene-${version}-src.tar" |
| /> |
| <lucene-checksum file="${dist.dir}/lucene-${version}-src.tar.gz"/> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Packages the sources with zip and tar-gzip --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-all-src" depends="package-zip-src, package-tgz-src" |
| description="--> Generates the .tar.gz and .zip source distributions"/> |
| |
| <!-- ================================================================== --> |
| <!-- same as package-all-src. it is just here for compatibility. --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="dist-src" depends="package-all-src"/> |
| |
| <target name="dist-all" depends="dist, dist-src"/> |
| |
| <target name="generate-maven-artifacts" depends="maven.ant.tasks-check, package, jar-src, jar-demo-src, javadocs"> |
| <sequential> |
| <m2-deploy pom.xml="lucene-parent-pom.xml.template"/> |
| <m2-deploy pom.xml="lucene-core-pom.xml.template"> |
| <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="lucene-demos-pom.xml.template"> |
| <artifact-attachments> |
| <attach file="${build.dir}/${demo.name}-src.jar" |
| classifier="sources"/> |
| <attach file="${build.dir}/${demo.name}-javadoc.jar" |
| classifier="javadoc"/> |
| </artifact-attachments> |
| </m2-deploy> |
| |
| <m2-deploy pom.xml="lucene-contrib-pom.xml.template"/> |
| <contrib-crawl target="dist-maven"/> |
| </sequential> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Build the JavaCC files into the source tree --> |
| <!-- ================================================================== --> |
| <target name="jjdoc"> |
| <mkdir dir="${build.dir}/docs/grammars"/> |
| <jjdoc target="src/java/org/apache/lucene/queryParser/QueryParser.jj" |
| outputfile="${build.dir}/docs/grammars/QueryParser.html" |
| javacchome="${javacc.home}" |
| /> |
| <jjdoc target="src/demo/org/apache/lucene/demo/html/HTMLParser.jj" |
| outputfile="${build.dir}/docs/grammars/HTMLParser.html" |
| javacchome="${javacc.home}" |
| /> |
| <jjdoc target="contrib/surround/src/java/org/apache/lucene/queryParser/surround/parser/QueryParser.jj" |
| outputfile="${build.dir}/docs/grammars/Surround_QueryParser.html" |
| javacchome="${javacc.home}" |
| /> |
| <jjdoc target="contrib/queryparser/src/java/org/apache/lucene/queryParser/standard/parser/StandardSyntaxParser.jj" |
| outputfile="${build.dir}/docs/grammars/StandardSyntaxParser.html" |
| javacchome="${javacc.home}" |
| /> |
| </target> |
| |
| <target name="clean-javacc"> |
| <delete> |
| <fileset dir="src/java/org/apache/lucene/analysis/standard" includes="*.java"> |
| <containsregexp expression="Generated.*By.*JavaCC"/> |
| <exclude name="ParseException.java"/> |
| </fileset> |
| <fileset dir="src/java/org/apache/lucene/queryParser" includes="*.java"> |
| <containsregexp expression="Generated.*By.*JavaCC"/> |
| </fileset> |
| <fileset dir="contrib/surround/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> |
| <fileset dir="src/demo/org/apache/lucene/demo/html" includes="*.java"> |
| <containsregexp expression="Generated.*By.*JavaCC"/> |
| </fileset> |
| </delete> |
| </target> |
| |
| <target name="javacc" depends="clean-javacc,javacc-QueryParser,javacc-HTMLParser,javacc-contrib-queryparser, javacc-contrib-surround"/> |
| |
| <target name="javacc-QueryParser" depends="init,javacc-check" if="javacc.present"> |
| <invoke-javacc target="src/java/org/apache/lucene/queryParser/QueryParser.jj" |
| outputDir="src/java/org/apache/lucene/queryParser" |
| /> |
| </target> |
| |
| <target name="javacc-HTMLParser" depends="init,javacc-check" if="javacc.present"> |
| <invoke-javacc target="src/demo/org/apache/lucene/demo/html/HTMLParser.jj" |
| outputDir="src/demo/org/apache/lucene/demo/html" |
| /> |
| </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-surround" depends="init,javacc-check" if="javacc.present"> |
| <ant target="javacc" |
| dir="contrib/surround" |
| antfile="build.xml" |
| /> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Build the JFlex files into the source tree --> |
| <!-- ================================================================== --> |
| |
| <target name="jflex" depends="clean-jflex,jflex-StandardAnalyzer" /> |
| |
| <target name="jflex-StandardAnalyzer" depends="init,jflex-check" if="jflex.present"> |
| <taskdef classname="JFlex.anttask.JFlexTask" name="jflex"> |
| <classpath location="${jflex.home}/lib/JFlex.jar" /> |
| </taskdef> |
| |
| <jflex file="src/java/org/apache/lucene/analysis/standard/StandardTokenizerImpl.jflex" |
| outdir="src/java/org/apache/lucene/analysis/standard" |
| nobak="on" /> |
| </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> |
| |
| <macrodef name="contrib-crawl"> |
| <attribute name="target" default=""/> |
| <attribute name="failonerror" default="true"/> |
| <sequential> |
| <subant target="@{target}" failonerror="@{failonerror}"> |
| <fileset dir="." |
| includes="contrib/*/build.xml" |
| /> |
| </subant> |
| </sequential> |
| </macrodef> |
| |
| <target name="build-contrib" |
| description="Builds all contrib modules and their tests"> |
| <contrib-crawl target="build-artifacts-and-tests"/> |
| </target> |
| |
| <target name="test-contrib" depends="build-contrib"> |
| <!-- Don't fail on error, instead check for flag file so we run |
| all the tests possible and can "ant generate-test-reports" |
| for all of them. |
| |
| Because of this, we depend on "build-contrib" even though the |
| Individual contrib "test" targets probably have the |
| neccessary dependencies. If they fail to compile, we won't |
| know about it. |
| --> |
| <contrib-crawl target="test" failonerror="false"/> |
| <available property="contribs.failed" file="junitfailed.flag"> |
| <filepath> |
| <dirset dir="${build.dir}/contrib/"> |
| <include name="**/test/" /> |
| </dirset> |
| </filepath> |
| </available> |
| <fail if="contribs.failed">Contrib tests failed!</fail> |
| </target> |
| |
| <!-- Macro for building checksum files |
| This is only needed until the "format" option is supported |
| by ant's built in checksum task |
| --> |
| <macrodef name="lucene-checksum"> |
| <attribute name="file"/> |
| <!-- NOTE: we use the value of @{file} in the names any properties |
| set because macro's don't have variables, and otherwise we |
| wouldn't be able to checksum more then one file per build |
| --> |
| <sequential> |
| <checksum file="@{file}" |
| property="@{file}.sum" |
| algorithm="${checksum.algorithm}" /> |
| <basename file="@{file}" property="@{file}.base" /> |
| <concat destfile="@{file}.${checksum.algorithm}" |
| force="yes" |
| append="false" |
| fixlastline="yes"> |
| <header trimleading="yes">${@{file}.sum} </header> |
| <!-- empty fileset to trick concat --> |
| <fileset dir="." excludes="**" /> |
| <footer trimleading="yes">${@{file}.base} |
| </footer> |
| </concat> |
| </sequential> |
| </macrodef> |
| |
| <!-- |
| compile changes.txt into an html file |
| --> |
| |
| <target name="changes-to-html"> |
| <mkdir dir="${changes.target.dir}"/> |
| <exec executable="perl" input="CHANGES.txt" output="${changes.target.dir}/Changes.html" failonerror="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"> |
| <arg value="${changes.src.dir}/changes2html.pl"/> |
| </exec> |
| <copy todir="${changes.target.dir}"> |
| <fileset dir="${changes.src.dir}" includes="*.css"/> |
| </copy> |
| </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="rat-sources-typedef"> |
| <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="rat-sources-typedef" |
| description="runs the tasks over src/java"> |
| <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"> |
| <fileset dir="src/java"> |
| </fileset> |
| </rat:report> |
| </target> |
| |
| </project> |