mirror of https://github.com/apache/lucene.git
243 lines
8.2 KiB
XML
243 lines
8.2 KiB
XML
<?xml version="1.0"?>
|
|
|
|
<project name="common">
|
|
|
|
<!-- default values, intended to be overridden-->
|
|
<property name="version" value="dev"/>
|
|
<property name="Name" value="${ant.project.name}"/>
|
|
|
|
<!-- not intended to be overridden-->
|
|
<property name="src.dir" location="src/java"/>
|
|
<property name="build.dir" location="build"/>
|
|
<property name="build.classes.dir" location="${build.dir}/classes"/>
|
|
<property name="build.javadoc" value="${build.dir}/docs/api"/>
|
|
<property name="build.encoding" value="utf-8"/>
|
|
|
|
<property name="release.host" value="www.apache.org"/>
|
|
<property name="release.path" value="/www/cvs.apache.org/dist/jakarta/lucene/sandbox/${ant.project.name}"/>
|
|
|
|
<property name="web.host" value="www.apache.org"/>
|
|
<property name="web.path" value="/www/jakarta.apache.org/lucene/docs/lucene-sandbox/${ant.project.name}"/>
|
|
|
|
<property name="javadoc.link.java" value="http://java.sun.com/j2se/1.4.1/docs/api/"/>
|
|
<property name="javadoc.link.lucene" value="http://jakarta.apache.org/lucene/docs/api/"/>
|
|
|
|
<property name="test.src.dir" location="src/test"/>
|
|
<property name="test.output.dir" location="${build.dir}/test"/>
|
|
<property name="test.classes.dir" location="${test.output.dir}/classes"/>
|
|
|
|
<property name="dist.dir" location="dist"/>
|
|
<property name="dist.name" value="${ant.project.name}-${version}"/>
|
|
<property name="package.dir" location="dist/${dist.name}"/>
|
|
|
|
<property name="junit.jar" location="${ant.home}/lib/junit.jar"/>
|
|
<dirname file="${ant.file.common}" property="common.dir"/>
|
|
<property name="lucene.dir" location="${common.dir}/.."/>
|
|
|
|
<property name="build.debug" value="true"/>
|
|
<property name="junit.fork" value="true"/>
|
|
|
|
<property name="jakarta.site2.home" location="../../../jakarta-site2"/>
|
|
<property name="project.name" value="site"/>
|
|
<property name="docs.src" location="xdocs"/>
|
|
<property name="docs.dest" location="docs"/>
|
|
|
|
<path id="anakia.classpath">
|
|
<fileset dir="${jakarta.site2.home}/lib">
|
|
<include name="*.jar"/>
|
|
</fileset>
|
|
</path>
|
|
|
|
<!-- ========================================================== -->
|
|
<!-- Datatype declarations -->
|
|
<!-- ========================================================== -->
|
|
<!-- TODO: define ${lucene.jar} for easier overriding -->
|
|
<path id="compile.classpath">
|
|
<fileset dir="${lucene.dir}" includes="build/lucene*.jar"/>
|
|
<pathelement path="${project.classpath}"/>
|
|
</path>
|
|
|
|
<path id="test.classpath">
|
|
<path refid="compile.classpath"/>
|
|
<pathelement location="${junit.jar}"/>
|
|
<pathelement location="${build.classes.dir}"/>
|
|
<pathelement location="${test.classes.dir}"/>
|
|
</path>
|
|
|
|
|
|
<target name="init">
|
|
<echo message="Building ${ant.project.name}"/>
|
|
<tstamp/>
|
|
|
|
<mkdir dir="${build.dir}"/>
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
<mkdir dir="${dist.dir}"/>
|
|
|
|
<mkdir dir="${test.output.dir}"/>
|
|
<mkdir dir="${test.classes.dir}"/>
|
|
|
|
<available property="has.tests" file="${test.src.dir}" type="dir"/>
|
|
</target>
|
|
|
|
<target name="clean"
|
|
description="Deletes all previous build artifacts">
|
|
<delete dir="${build.dir}"/>
|
|
<delete dir="${build.classes.dir}"/>
|
|
<delete dir="${dist.dir}"/>
|
|
<delete dir="${package.dir}"/>
|
|
|
|
<delete dir="${test.output.dir}"/>
|
|
<delete dir="${test.classes.dir}"/>
|
|
</target>
|
|
|
|
<target name="dist" depends="compile" description="Create JAR">
|
|
<jar jarfile="${dist.dir}/${dist.name}.jar"
|
|
basedir="${build.classes.dir}"
|
|
/>
|
|
</target>
|
|
|
|
<target name="compile" depends="init">
|
|
<javac destdir="${build.classes.dir}"
|
|
debug="${build.debug}"
|
|
includeAntRuntime="yes"
|
|
deprecation="true"
|
|
srcdir="${src.dir}"
|
|
classpathref="compile.classpath"
|
|
encoding="${build.encoding}"
|
|
/>
|
|
<copy todir="${build.classes.dir}">
|
|
<fileset dir="${src.dir}" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="test-compile" depends="compile" if="has.tests">
|
|
<javac destdir="${test.classes.dir}"
|
|
debug="${build.debug}"
|
|
deprecation="true"
|
|
includeAntRuntime="yes"
|
|
srcdir="src/test"
|
|
classpathref="test.classpath"
|
|
encoding="${build.encoding}"
|
|
/>
|
|
|
|
<copy todir="${test.classes.dir}">
|
|
<fileset dir="src/test" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="test" depends="test-compile" if="has.tests">
|
|
<junit printsummary="no"
|
|
errorProperty="test.failed"
|
|
failureProperty="test.failed"
|
|
fork="${junit.fork}">
|
|
<classpath refid="test.classpath"/>
|
|
<sysproperty key="docs.dir" file="${test.classes.dir}"/>
|
|
<sysproperty key="index.dir" file="${test.output.dir}/index"/>
|
|
<sysproperty key="dataDir" file="${test.src.dir}"/>
|
|
<formatter type="brief" usefile="false"/>
|
|
<test name="${testcase}" if="testcase"/>
|
|
<batchtest todir="${test.data.dir}" unless="testcase">
|
|
<fileset dir="${test.classes.dir}"
|
|
includes="**/*Test.class,**/Test*.class"
|
|
/>
|
|
</batchtest>
|
|
</junit>
|
|
|
|
<fail if="test.failed">
|
|
Unit tests failed. Check log or reports for details
|
|
</fail>
|
|
|
|
</target>
|
|
|
|
<target name="default" depends="test,dist"/>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Documentation -->
|
|
<!-- ================================================================== -->
|
|
<target name="javadoc" depends="compile">
|
|
<mkdir dir="${build.javadoc}"/>
|
|
<javadoc
|
|
sourcepath="${src.dir}"
|
|
overview="${src.dir}/overview.html"
|
|
packagenames="*"
|
|
destdir="${build.javadoc}"
|
|
author="true"
|
|
version="true"
|
|
use="true"
|
|
windowtitle="${Name} ${version} API"
|
|
doctitle="${Name} ${version} API"
|
|
encoding="${build.encoding}"
|
|
>
|
|
<link href="${javadoc.link.java}"/>
|
|
<link href="${javadoc.link.lucene}"/>
|
|
<tag name="todo" description="To Do:"/>
|
|
<classpath refid="compile.classpath"/>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- D I S T R I B U T I O N -->
|
|
<!-- ================================================================== -->
|
|
<!-- -->
|
|
<!-- ================================================================== -->
|
|
<target name="package" depends="dist, javadoc">
|
|
<mkdir dir="${package.dir}"/>
|
|
<mkdir dir="${package.dir}/docs"/>
|
|
<mkdir dir="${package.dir}/docs/api"/>
|
|
<mkdir dir="${docs.dest}"/>
|
|
<copy todir="${package.dir}/docs/api">
|
|
<fileset dir="${build.javadoc}"/>
|
|
</copy>
|
|
|
|
<copy todir="${package.dir}/docs">
|
|
<fileset dir="${docs.dest}/"/>
|
|
</copy>
|
|
|
|
<copy todir="${package.dir}">
|
|
<fileset dir=".">
|
|
<include name="*.txt"/>
|
|
</fileset>
|
|
</copy>
|
|
|
|
<copy todir="${package.dir}/src">
|
|
<fileset dir="src"/>
|
|
</copy>
|
|
<copy todir="${package.dir}/" file="build.xml"/>
|
|
<copy todir="${dist.dir}/" file="${common.dir}/common.xml"/>
|
|
|
|
<copy file="${dist.dir}/${dist.name}.jar" todir="${package.dir}"/>
|
|
|
|
<tar tarfile="${dist.dir}/${dist.name}.tar.gz" basedir="${dist.dir}/"
|
|
compression="gzip" includes="${dist.name}/**,common.xml"/>
|
|
|
|
</target>
|
|
|
|
<!-- ================================================================== -->
|
|
<!-- Copy release to server -->
|
|
<!-- ================================================================== -->
|
|
<target name="release" depends="package">
|
|
<exec executable="ssh">
|
|
<arg value="${release.host}"/>
|
|
<arg value="mkdir"/>
|
|
<arg value="${release.path}/${dist.name}"/>
|
|
</exec>
|
|
<exec executable="scp">
|
|
<arg value="${dist.dir}/${dist.name}.jar"/>
|
|
<arg value="${dist.dir}/${dist.name}.tar.gz"/>
|
|
<arg value="${release.host}:${release.path}/${dist.name}"/>
|
|
</exec>
|
|
<exec executable="ssh">
|
|
<arg value="${web.host}"/>
|
|
<arg value="rm"/>
|
|
<arg value="-rf"/>
|
|
<arg value="${web.path}/api"/>
|
|
</exec>
|
|
<exec executable="scp">
|
|
<arg value="-r"/>
|
|
<arg value="${build.javadoc}"/>
|
|
<arg value="${web.host}:${web.path}/api"/>
|
|
</exec>
|
|
</target>
|
|
|
|
</project>
|