| <?xml version="1.0"?> |
| |
| <project name="Lucene" default="jar" basedir="."> |
| |
| <property file="${user.home}/build.properties"/> |
| <property file="build.properties"/> |
| |
| <!-- Build classpath --> |
| <path id="classpath"> |
| <pathelement location="${build.classes}"/> |
| <pathelement location="${build.demo.classes}"/> |
| <pathelement location="${build.test.classes}"/> |
| <pathelement location="."/> |
| <fileset dir="lib"> |
| <include name="*.jar" /> |
| </fileset> |
| </path> |
| |
| <path id="junit.classpath"> |
| <pathelement location="${junit.classes}" /> |
| <pathelement location="${build.classes}"/> |
| <fileset dir="lib"> |
| <include name="*.jar" /> |
| </fileset> |
| <pathelement path="${java.class.path}" /> |
| </path> |
| |
| <!-- ================================================================== --> |
| <!-- Prepares the build directory --> |
| <!-- ================================================================== --> |
| <target name="init"> |
| <mkdir dir="${build.dir}"/> |
| <mkdir dir="${build.classes}"/> |
| <mkdir dir="${build.src}"/> |
| |
| <available |
| property="javacc.present" |
| classname="COM.sun.labs.javacc.Main" |
| classpath="${javacc.zip}" |
| /> |
| |
| <available |
| property="junit.present" |
| classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" |
| /> |
| </target> |
| |
| <target name="javacc_check" depends="init" unless="javacc.present"> |
| <echo> |
| ################################################################## |
| JavaCC not found. |
| JavaCC Home: ${javacc.home} |
| JavaCC Zip: ${javacc.zip} |
| |
| Please download and install JavaCC 2.0 from: |
| |
| <http://www.webgain.com/products/metamata/java_doc.html> |
| |
| Then, create a .ant.properties file either in your home |
| directory, or within the Lucene directory and set the javacc.home |
| property to the path where JavaCC.zip is located. For example, |
| if you installed JavaCC in /usr/local/java/javacc2.0, then set the |
| javacc.home property to: |
| |
| javacc.home=/usr/local/java/javacc2.0/bin/lib |
| |
| If you get an error like the one below, then you have not installed |
| things correctly. Please check all your paths and try again. |
| |
| java.lang.NoClassDefFoundError: COM/sun/labs/javacc/Main |
| ################################################################## |
| </echo> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- C O M P I L E --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="compile" depends="init,javacc_check" if="javacc.present"> |
| <mkdir dir="${build.src}/org/apache/lucene/analysis/standard"/> |
| <javacc |
| target="${src.dir}/org/apache/lucene/analysis/standard/StandardTokenizer.jj" |
| javacchome="${javacc.zip.dir}" |
| outputdirectory="${build.src}/org/apache/lucene/analysis/standard" |
| /> |
| |
| <delete file="${build.src}/org/apache/lucene/analysis/standard/ParseException.java"/> |
| <mkdir dir="${build.src}/org/apache/lucene/queryParser"/> |
| <javacc |
| target="${src.dir}/org/apache/lucene/queryParser/QueryParser.jj" |
| javacchome="${javacc.zip.dir}" |
| outputdirectory="${build.src}/org/apache/lucene/queryParser" |
| /> |
| |
| <javac |
| srcdir="${src.dir}:${build.src}" |
| includes="org/**/*.java" |
| destdir="${build.classes}" |
| debug="${debug}"> |
| <classpath refid="classpath"/> |
| </javac> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- J A R --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="jar" depends="compile" if="javacc.present"> |
| <jar |
| jarfile="${build.dir}/${final.name}.jar" |
| basedir="${build.classes}" |
| /> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- B U I L D D E M O --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="demo" depends="compile" if="javacc.present"> |
| <mkdir dir="${build.demo}"/> |
| |
| <copy todir="${build.demo.src}"> |
| <fileset dir="${demo.src}"> |
| <include name="**/*.java"/> |
| <include name="**/*.jj"/> |
| </fileset> |
| </copy> |
| |
| <javacc |
| target="${build.demo.src}/org/apache/lucene/HTMLParser/HTMLParser.jj" |
| javacchome="${javacc.zip.dir}" |
| outputdirectory="${build.demo.src}/org/apache/lucene/HTMLParser" |
| /> |
| |
| <mkdir dir="${build.demo.classes}"/> |
| |
| <javac |
| srcdir="${build.demo.src}" |
| includes="**/*.java" |
| destdir="${build.demo.classes}" |
| debug="${debug}"> |
| <classpath refid="classpath"/> |
| </javac> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- B U I L D T E S T --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="test" depends="compile,demo"> |
| <mkdir dir="${build.test}"/> |
| |
| <copy todir="${build.test.src}"> |
| <fileset dir="${test.src}"> |
| <include name="**/*.java"/> |
| </fileset> |
| </copy> |
| |
| <mkdir dir="${build.test.classes}"/> |
| |
| <javac |
| srcdir="${build.test.src}" |
| includes="**/*.java" |
| destdir="${build.test.classes}" |
| debug="${debug}"> |
| <classpath refid="classpath"/> |
| </javac> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- R U N T E S T S --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="test-unit" depends="compile" if="junit.present"> |
| <!-- Import JUnit task --> |
| <taskdef |
| name="junit" |
| classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" |
| /> |
| |
| <mkdir dir="${junit.classes}"/> |
| <mkdir dir="${junit.reports}"/> |
| <javac |
| srcdir="${junit.src}" |
| includes="**/*.java" |
| destdir="${junit.classes}" |
| debug="${debug}"> |
| <classpath refid="classpath"/> |
| </javac> |
| |
| <junit printsummary="yes" haltonfailure="no" > |
| <classpath refid="junit.classpath"/> |
| <formatter type="plain" /> |
| <batchtest fork="yes" todir="${junit.reports}"> |
| <fileset dir="${junit.src}" includes="**/Test*.java" /> |
| </batchtest> |
| </junit> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- D O C U M E N T A T I O N --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="docs-prepare"> |
| <available |
| classname="org.apache.velocity.anakia.AnakiaTask" |
| property="AnakiaTask.present" |
| classpathref="classpath" |
| /> |
| </target> |
| |
| <target depends="docs-prepare" name="prepare-error" unless="AnakiaTask.present"> |
| <echo> |
| AnakiaTask is not present! Please check to make sure that |
| velocity.jar is in your classpath. |
| </echo> |
| </target> |
| |
| <target name="docs" depends="prepare-error" if="AnakiaTask.present"> |
| <taskdef |
| name="anakia" |
| classname="org.apache.velocity.anakia.AnakiaTask" |
| > |
| <classpath refid="classpath"/> |
| </taskdef> |
| |
| <anakia |
| basedir="${docs.src}" |
| destdir="${docs.dest}/" |
| extension=".html" style="./site.vsl" |
| projectFile="stylesheets/project.xml" |
| excludes="**/stylesheets/** empty.xml" |
| includes="**/*.xml" |
| lastModifiedCheck="true" |
| templatePath="../jakarta-site2/xdocs/stylesheets" |
| > |
| </anakia> |
| |
| <copy todir="${docs.dest}/images" filtering="no"> |
| <fileset dir="${docs.src}/images"> |
| <include name="**/*.gif"/> |
| <include name="**/*.jpeg"/> |
| <include name="**/*.jpg"/> |
| </fileset> |
| </copy> |
| |
| <!-- In case we have CSS someday |
| <copy todir="${docs.dest}" filtering="no"> |
| <fileset dir="${docs.src}"> |
| <include name="**/*.css"/> |
| </fileset> |
| </copy> |
| --> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- J A V A D O C --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="javadocs" depends="compile" if="javacc.present"> |
| <mkdir dir="${build.javadocs}"/> |
| <javadoc |
| sourcepath="${src.dir}:${build.src}" |
| overview="${src.dir}/overview.html" |
| packagenames="${packages}" |
| destdir="${build.javadocs}" |
| 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." |
| > |
| <classpath refid="classpath"/> |
| </javadoc> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- D I S T R I B U T I O N --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package" depends="jar, javadocs, demo"> |
| <mkdir dir="${dist.dir}"/> |
| <mkdir dir="${dist.dir}/docs"/> |
| <mkdir dir="${dist.dir}/docs/api"/> |
| <mkdir dir="${dist.dir}/demo"/> |
| <mkdir dir="${dist.dir}/demo/src"/> |
| <mkdir dir="${dist.dir}/demo/classes"/> |
| |
| <copy todir="${dist.dir}/docs"> |
| <fileset dir="${docs.dir}"/> |
| </copy> |
| <copy todir="${dist.dir}/docs/api"> |
| <fileset dir="${build.javadocs}"/> |
| </copy> |
| <copy todir="${dist.dir}/demo/classes"> |
| <fileset dir="${build.demo.classes}"/> |
| </copy> |
| <copy todir="${dist.dir}/demo/src"> |
| <fileset dir="${build.demo.src}"/> |
| </copy> |
| <copy file="${build.dir}/${final.name}.jar" todir="${dist.dir}"/> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Packages the distribution with ZIP --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-zip" depends="package" |
| description="--> generates the Lucene distribution as .zip"> |
| |
| <delete file="${basedir}/${final.name}.zip"/> |
| <zip |
| zipfile="${basedir}/${final.name}.zip" |
| basedir="${basedir}/" |
| includes="**/${final.name}/**" |
| /> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Packages the distribution with TAR-GZIP --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-tgz" depends="package" |
| description="--> generates the Lucene distribution as .tar.gz"> |
| |
| <delete file="${basedir}/${final.name}.tar"/> |
| <delete file="${basedir}/${final.name}.tar.gz"/> |
| <tar |
| tarfile="${basedir}/${final.name}.tar" |
| basedir="${basedir}/" |
| includes="**/${final.name}/**" |
| /> |
| |
| <gzip |
| zipfile="${basedir}/${final.name}.tar.gz" |
| src="${basedir}/${final.name}.tar" |
| /> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Packages the distribution with ZIP and TAG-GZIP --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="package-all" depends="package-zip, package-tgz" |
| description="--> generates the .tar.gz and .zip distributions"> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- Same as package-all. It is just here for compatibility. --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="dist" depends="package-all"> |
| </target> |
| |
| <!-- ================================================================== --> |
| <!-- C L E A N --> |
| <!-- ================================================================== --> |
| <!-- --> |
| <!-- ================================================================== --> |
| <target name="clean" depends="init"> |
| <delete dir="${build.dir}"/> |
| <delete dir="${dist.dir}"/> |
| <delete file="${basedir}/${final.name}.tar"/> |
| <delete file="${basedir}/${final.name}.tar.gz"/> |
| <delete file="${basedir}/${final.name}.zip"/> |
| </target> |
| </project> |