mirror of https://github.com/apache/lucene.git
441 lines
18 KiB
XML
441 lines
18 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<project name="core" default="default" basedir=".">
|
|
|
|
|
|
<import file="common-build.xml"/>
|
|
|
|
<!-- Import tests for deprecation compliance.
|
|
This will be removed for Lucene 2.0
|
|
-->
|
|
<import file="build-deprecated.xml"/>
|
|
|
|
<property name="demo.name" value="lucene-demos-${version}"/>
|
|
<property name="demo.war.name" value="luceneweb"/>
|
|
<property name="javadoc.link" value="http://java.sun.com/j2se/1.4/docs/api/"/>
|
|
|
|
<!-- 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="demo.classpath"/>
|
|
<pathelement location="${build.dir}/classes/test"/>
|
|
</path>
|
|
|
|
|
|
<path id="junit.classpath">
|
|
<pathelement location="${build.dir}/classes/test"/>
|
|
<pathelement location="${build.dir}/classes/java"/>
|
|
<pathelement location="${build.dir}/classes/demo"/>
|
|
<fileset dir="lib">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
<pathelement path="${java.class.path}"/>
|
|
</path>
|
|
|
|
<patternset id="src.dist.patterns"
|
|
includes="src/,build.xml,*build*.xml,docs/,*.txt,contrib/,"
|
|
excludes="contrib/*/lib/"
|
|
/>
|
|
<patternset id="binary.build.dist.patterns"
|
|
includes="${final.name}.jar,${demo.war.name}.war,${demo.name}.jar,docs/,contrib/*/*.jar"
|
|
/>
|
|
<patternset id="binary.root.dist.patterns"
|
|
includes="src/demo/,src/jsp/,build.xml,docs/,*.txt"
|
|
/>
|
|
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Prepares the build directory -->
|
|
<!-- ================================================================== -->
|
|
|
|
<!-- Overrides common.compile-core to add rmic -->
|
|
<target name="compile-core" depends="common.compile-core"
|
|
description="Compiles core classes, including rmic">
|
|
<rmic classname="org.apache.lucene.search.RemoteSearchable"
|
|
base="${build.dir}/classes/java">
|
|
<classpath refid="classpath"/>
|
|
</rmic>
|
|
</target>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- J A R -->
|
|
<!-- ================================================================== -->
|
|
<!-- -->
|
|
<!-- ================================================================== -->
|
|
|
|
<target name="jar-demo" depends="compile-demo">
|
|
<jar
|
|
destfile="${build.dir}/${demo.name}.jar"
|
|
basedir="${build.dir}/classes/demo"
|
|
excludes="**/*.java"
|
|
/>
|
|
</target>
|
|
|
|
<target name="war-demo" depends="jar-core,jar-demo">
|
|
<war destfile="${build.dir}/${demo.war.name}.war"
|
|
webxml="src/jsp/WEB-INF/web.xml">
|
|
<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"/>
|
|
</war>
|
|
</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>
|
|
|
|
<!-- GCJ -->
|
|
<target name="gcj" depends="jar,jar-demo">
|
|
<exec executable="make" dir="src/gcj" failonerror="true"/>
|
|
</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-prepare">
|
|
<fail unless="asf.site.home">
|
|
Set the property asf.site.home. This can be done using one of the following methods:
|
|
|
|
* run Ant with the switch -Dasf.site.home=/path/to/asf/site/module
|
|
* Add asf.site.home to a build.properties file in the top-level Lucene directory
|
|
|
|
</fail>
|
|
<available
|
|
classname="org.apache.velocity.anakia.AnakiaTask"
|
|
property="AnakiaTask.present">
|
|
<classpath id="anakia.classpath">
|
|
<fileset dir="${asf.site.home}/lib">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
</classpath>
|
|
</available>
|
|
</target>
|
|
|
|
<target name="prepare-error" depends="docs-prepare" unless="AnakiaTask.present">
|
|
<echo>
|
|
AnakiaTask is not present! Please check to make sure that
|
|
you have asf.site.home (currently ${asf.site.home}) set correctly.
|
|
</echo>
|
|
</target>
|
|
|
|
<target name="docs" depends="prepare-error" if="AnakiaTask.present">
|
|
<taskdef
|
|
name="anakia"
|
|
classname="org.apache.velocity.anakia.AnakiaTask">
|
|
<classpath refid="anakia.classpath"/>
|
|
</taskdef>
|
|
|
|
<anakia
|
|
basedir="xdocs"
|
|
destdir="docs/"
|
|
extension=".html" style="./site.vsl"
|
|
projectFile="stylesheets/project.xml"
|
|
excludes="**/stylesheets/** empty.xml"
|
|
includes="**/*.xml"
|
|
lastModifiedCheck="true"
|
|
templatePath="${asf.site.home}/xdocs/stylesheets"
|
|
/>
|
|
|
|
<copy todir="docs/images" filtering="no">
|
|
<fileset dir="xdocs/images">
|
|
<include name="**/*.gif"/>
|
|
<include name="**/*.jpeg"/>
|
|
<include name="**/*.jpg"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
</target>
|
|
|
|
<target name="javadocs">
|
|
<mkdir dir="${build.dir}/docs/api"/>
|
|
<invoke-javadoc
|
|
access="protected"
|
|
destdir="${build.dir}/docs/api"
|
|
/>
|
|
</target>
|
|
|
|
<target name="javadocs-internal">
|
|
<mkdir dir="${build.dir}/docs/api-internal"/>
|
|
<invoke-javadoc
|
|
access="package"
|
|
destdir="${build.dir}/docs/api-internal"
|
|
/>
|
|
</target>
|
|
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- D I S T R I B U T I O N -->
|
|
<!-- ================================================================== -->
|
|
<!-- -->
|
|
<!-- ================================================================== -->
|
|
<target name="package" depends="jar-core, javadocs, jjdoc, war-demo, build-contrib">
|
|
<mkdir dir="${dist.dir}"/>
|
|
</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 prefix="lucene-${version}" dir="${build.dir}">
|
|
<patternset refid="binary.build.dist.patterns"/>
|
|
</zipfileset>
|
|
</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">
|
|
<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}.tar.gz"
|
|
src="${build.dir}/lucene-${version}.tar"
|
|
/>
|
|
</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 -->
|
|
<!-- ================================================================== -->
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Packages the sources with zip -->
|
|
<!-- ================================================================== -->
|
|
<!-- -->
|
|
<!-- ================================================================== -->
|
|
<target name="package-zip-src" depends="init"
|
|
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>
|
|
</target>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Packages the sources with tar-gzip -->
|
|
<!-- ================================================================== -->
|
|
<!-- -->
|
|
<!-- ================================================================== -->
|
|
<target name="package-tgz-src" depends="init"
|
|
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">
|
|
<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"
|
|
/>
|
|
</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"/>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- 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/java/org/apache/lucene/analysis/standard/StandardTokenizer.jj"
|
|
outputfile="${build.dir}/docs/grammars/StandardTokenizer.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}"
|
|
/>
|
|
</target>
|
|
|
|
<target name="clean-javacc">
|
|
<delete>
|
|
<fileset dir="src">
|
|
<include name="java/org/apache/lucene/analysis/standard/StandardTokenizer.java"/>
|
|
<include name="java/org/apache/lucene/queryParser/QueryParser.java"/>
|
|
<include name="java/org/apache/lucene/queryParser/precedence/PrecedenceQueryParser.java"/>
|
|
<include name="demo/org/apache/lucene/demo/html/HTMLParser.java"/>
|
|
</fileset>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="javacc" depends="clean-javacc,javacc-StandardAnalyzer,javacc-QueryParser,javacc-PrecedenceQueryParser,javacc-HTMLParser"/>
|
|
|
|
<target name="javacc-StandardAnalyzer" depends="init,javacc-check" if="javacc.present">
|
|
<!-- generate this in a build directory so we can exclude ParseException -->
|
|
<mkdir dir="${build.dir}/gen/org/apache/lucene/analysis/standard"/>
|
|
|
|
<invoke-javacc target="src/java/org/apache/lucene/analysis/standard/StandardTokenizer.jj"
|
|
outputDir="${build.dir}/gen/org/apache/lucene/analysis/standard"
|
|
/>
|
|
<copy todir="src/java/org/apache/lucene/analysis/standard">
|
|
<fileset dir="${build.dir}/gen/org/apache/lucene/analysis/standard">
|
|
<include name="*.java"/>
|
|
<exclude name="ParseException.java"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
<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-PrecedenceQueryParser" depends="init,javacc-check" if="javacc.present">
|
|
<invoke-javacc target="src/java/org/apache/lucene/queryParser/precedence/PrecedenceQueryParser.jj"
|
|
outputDir="src/java/org/apache/lucene/queryParser/precedence"
|
|
/>
|
|
</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>
|
|
|
|
<macrodef name="contrib-crawl">
|
|
<attribute name="target" default=""/>
|
|
<sequential>
|
|
<subant target="@{target}" failonerror="true">
|
|
<fileset dir="."
|
|
includes="contrib/*/build.xml"
|
|
/>
|
|
</subant>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<target name="build-contrib" depends="compile-test">
|
|
<contrib-crawl/>
|
|
</target>
|
|
|
|
<macrodef name="invoke-javadoc">
|
|
<attribute name="access"/>
|
|
<attribute name="destdir"/>
|
|
<sequential>
|
|
<javadoc
|
|
overview="src/java/overview.html"
|
|
packagenames="org.apache.lucene.*"
|
|
destdir="@{destdir}"
|
|
access="@{access}"
|
|
encoding="${build.encoding}"
|
|
author="true"
|
|
version="true"
|
|
use="true"
|
|
link="${javadoc.link}"
|
|
windowtitle="${Name} ${version} API"
|
|
doctitle="${Name} ${version} API"
|
|
bottom="Copyright &copy; ${year} Apache Software Foundation. All Rights Reserved.">
|
|
<tag name="todo" description="To Do:"/>
|
|
|
|
<!-- TODO: find a dynamic way to do include multiple source roots -->
|
|
<packageset dir="src/java"/>
|
|
<packageset dir="contrib/analyzers/src/java"/>
|
|
<packageset dir="contrib/WordNet/src/java"/>
|
|
<packageset dir="contrib/highlighter/src/java"/>
|
|
<packageset dir="contrib/similarity/src/java"/>
|
|
<packageset dir="contrib/spellchecker/src/java"/>
|
|
<packageset dir="contrib/snowball/src/java" excludes="net/"/>
|
|
<packageset dir="contrib/swing/src/java"/>
|
|
<packageset dir="contrib/memory/src/java"/>
|
|
|
|
<group title="Core" packages="org.apache.*:org.apache.lucene.analysis:org.apache.lucene.analysis.standard*"/>
|
|
<group title="Analysis" packages="org.apache.lucene.analysis.*"/>
|
|
<group title="Snowball" packages="org.apache.lucene.analysis.snowball*"/>
|
|
<group title="Highlighter" packages="org.apache.lucene.search.highlight*"/>
|
|
<group title="MoreLikeThis" packages="org.apache.lucene.search.similar*"/>
|
|
<group title="SpellChecker" packages="org.apache.lucene.search.spell*"/>
|
|
<group title="WordNet" packages="org.apache.lucene.wordnet*"/>
|
|
<group title="Swing" packages="org.apache.lucene.swing*"/>
|
|
<group title="Memory" packages="org.apache.lucene.index.memory*"/>
|
|
</javadoc>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
|
|
</project>
|