+++ /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="contrib-build" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
- <echo>Building ${ant.project.name}...</echo>
-
- <!-- TODO: adjust build.dir/dist.dir appropriately when a contrib project is run individually -->
- <property name="build.dir" location="../../build/contrib/${ant.project.name}"/>
- <property name="dist.dir" location="../../dist/contrib/${ant.project.name}"/>
- <property name="maven.dist.dir" location="../../dist/maven"/>
-
- <import file="../common-build.xml"/>
-
- <available property="contrib.has.tests" type="dir" file="src/test" />
-
- <!-- if you extend the classpath refid in one contrib's build.xml (add JARs), use this as basis: -->
- <path id="base.classpath">
- <pathelement location="${common.dir}/build/classes/java"/>
- <pathelement path="${project.classpath}"/>
- </path>
-
- <!-- default classpath refid, can be overridden by contrib's build.xml (use the above base.classpath as basis): -->
- <path id="classpath" refid="base.classpath"/>
-
- <path id="test.base.classpath">
- <path refid="classpath"/>
- <pathelement location="${common.dir}/build/classes/test-framework"/>
- <path refid="junit-path"/>
- <pathelement location="${build.dir}/classes/java"/>
- </path>
-
- <path id="test.classpath" refid="test.base.classpath"/>
-
- <path id="junit.classpath">
- <path refid="test.classpath"/>
- <pathelement location="${build.dir}/classes/test"/>
- <pathelement path="${java.class.path}"/>
- </path>
-
- <target name="init" depends="common.init,compile-lucene-core"/>
- <target name="compile-test" depends="init" if="contrib.has.tests">
- <antcall target="common.compile-test" inheritRefs="true" />
- </target>
- <target name="test" depends="init" if="contrib.has.tests">
- <antcall target="common.test" inheritRefs="true" />
- </target>
- <target name="build-artifacts-and-tests" depends="jar, compile-test" />
-
- <available
- type="file"
- file="pom.xml"
- property="pom.xml.present">
- </available>
-
-<target name="dist-maven" if="pom.xml.present" depends="jar-core, jar-src, javadocs">
- <taskdef resource="org/apache/maven/artifact/ant/antlib.xml"
- uri="antlib:org.apache.maven.artifact.ant"
- classpathref="maven-ant-tasks.classpath"/>
- <sequential>
- <m2-deploy>
- <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>
- </sequential>
- </target>
-
- <target name="javadocs" depends="compile-core">
- <sequential>
- <mkdir dir="${javadoc.dir}/contrib-${name}"/>
- <invoke-javadoc
- destdir="${javadoc.dir}/contrib-${name}"
- title="${Name} ${version} contrib-${name} API">
- <sources>
- <link href=""/>
- <packageset dir="${src.dir}"/>
- </sources>
- </invoke-javadoc>
- <jarify basedir="${javadoc.dir}/contrib-${name}" destfile="${build.dir}/${final.name}-javadoc.jar"/>
- </sequential>
- </target>
-
- <target name="javadocs-index.html" description="Generate line for index.html of JavaDocs">
- <echo file="${javadoc.dir}/index.html" append="true">
-<![CDATA[
- <li><a href="contrib-${name}/index.html">${name}</a></li>
-]]></echo>
- </target>
-
- <macrodef name="contrib-uptodate">
- <attribute name="name"/>
- <attribute name="property"/>
- <attribute name="jarfile"/>
- <attribute name="contrib-src-name" default="@{name}"/>
- <sequential>
- <uptodate property="@{property}" targetfile="@{jarfile}">
- <srcfiles dir="${common.dir}/contrib/@{contrib-src-name}/src/java" includes="**/*.java"/>
- </uptodate>
- </sequential>
- </macrodef>
-
- <property name="analyzers-common.jar" value="${common.dir}/build/contrib/analyzers/common/lucene-analyzers-${version}.jar"/>
- <target name="check-analyzers-common-uptodate" unless="analyzers-common.uptodate">
- <contrib-uptodate name="analyzers/common" jarfile="${analyzers-common.jar}" property="analyzers-common.uptodate"/>
- </target>
- <target name="jar-analyzers-common" unless="analyzers-common.uptodate" depends="check-analyzers-common-uptodate">
- <ant dir="${common.dir}/contrib/analyzers/common" target="jar-core" inheritall="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="analyzers-common.uptodate" value="true"/>
- </target>
-
- <property name="analyzers-smartcn.jar" value="${common.dir}/build/contrib/analyzers/smartcn/lucene-smartcn-${version}.jar"/>
- <target name="check-analyzers-smartcn-uptodate" unless="analyzers-smartcn.uptodate">
- <contrib-uptodate name="analyzers/smartcn" jarfile="${analyzers-smartcn.jar}" property="analyzers-smartcn.uptodate"/>
- </target>
- <target name="jar-analyzers-smartcn" unless="analyzers-smartcn.uptodate" depends="check-analyzers-smartcn-uptodate">
- <ant dir="${common.dir}/contrib/analyzers/smartcn" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="analyzers-smartcn.uptodate" value="true"/>
- </target>
-
- <property name="analyzers-stempel.jar" value="${common.dir}/build/contrib/analyzers/stempel/lucene-stempel-${version}.jar"/>
- <target name="check-analyzers-stempel-uptodate" unless="analyzers-stempel.uptodate">
- <contrib-uptodate name="analyzers/stempel" jarfile="${analyzers-stempel.jar}" property="analyzers-stempel.uptodate"/>
- </target>
- <target name="jar-analyzers-stempel" unless="analyzers-stempel.uptodate" depends="check-analyzers-stempel-uptodate">
- <ant dir="${common.dir}/contrib/analyzers/stempel" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="analyzers-stempel.uptodate" value="true"/>
- </target>
-
- <property name="grouping.jar" value="${common.dir}/build/contrib/grouping/lucene-grouping-${version}.jar"/>
- <target name="check-grouping-uptodate" unless="grouping.uptodate">
- <contrib-uptodate name="grouping" jarfile="${grouping.jar}" property="grouping.uptodate"/>
- </target>
- <target name="jar-grouping" unless="grouping.uptodate" depends="check-grouping-uptodate">
- <ant dir="${common.dir}/contrib/grouping" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="grouping.uptodate" value="true"/>
- </target>
-
- <property name="highlighter.jar" value="${common.dir}/build/contrib/highlighter/lucene-highlighter-${version}.jar"/>
- <target name="check-highlighter-uptodate" unless="highlighter.uptodate">
- <contrib-uptodate name="highlighter" jarfile="${highlighter.jar}" property="highlighter.uptodate"/>
- </target>
- <target name="jar-highlighter" unless="highlighter.uptodate" depends="check-highlighter-uptodate">
- <ant dir="${common.dir}/contrib/highlighter" target="jar-core" inheritall="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="highlighter.uptodate" value="true"/>
- </target>
-
- <property name="icu.jar" value="${common.dir}/build/contrib/icu/lucene-icu-${version}.jar"/>
- <target name="check-icu-uptodate" unless="icu.uptodate">
- <contrib-uptodate name="icu" jarfile="${icu.jar}" property="icu.uptodate"/>
- </target>
- <target name="jar-icu" unless="icu.uptodate" depends="check-icu-uptodate">
- <ant dir="${common.dir}/contrib/icu" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="icu.uptodate" value="true"/>
- </target>
-
- <property name="memory.jar" value="${common.dir}/build/contrib/memory/lucene-memory-${version}.jar"/>
- <target name="check-memory-uptodate" unless="memory.uptodate">
- <contrib-uptodate name="memory" jarfile="${memory.jar}" property="memory.uptodate"/>
- </target>
- <target name="jar-memory" unless="memory.uptodate" depends="check-memory-uptodate">
- <ant dir="${common.dir}/contrib/memory" target="jar-core" inheritall="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="memory.uptodate" value="true"/>
- </target>
-
- <property name="misc.jar" value="${common.dir}/build/contrib/misc/lucene-misc-${version}.jar"/>
- <target name="check-misc-uptodate" unless="misc.uptodate">
- <contrib-uptodate name="misc" jarfile="${misc.jar}" property="misc.uptodate"/>
- </target>
- <target name="jar-misc" unless="misc.uptodate" depends="check-misc-uptodate">
- <ant dir="${common.dir}/contrib/misc" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="misc.uptodate" value="true"/>
- </target>
-
- <property name="queries.jar" value="${common.dir}/build/contrib/queries/lucene-queries-${version}.jar"/>
- <target name="check-queries-uptodate" unless="queries.uptodate">
- <contrib-uptodate name="queries" jarfile="${queries.jar}" property="queries.uptodate"/>
- </target>
- <target name="jar-queries" unless="queries.uptodate" depends="check-queries-uptodate">
- <ant dir="${common.dir}/contrib/queries" target="jar-core" inheritall="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="queries.uptodate" value="true"/>
- </target>
-
- <property name="queryparser.jar" value="${common.dir}/build/contrib/queryparser/lucene-queryparser-${version}.jar"/>
- <target name="check-queryparser-uptodate" unless="queryparser.uptodate">
- <contrib-uptodate name="queryparser" jarfile="${queryparser.jar}" property="queryparser.uptodate"/>
- </target>
- <target name="jar-queryparser" unless="queryparser.uptodate" depends="check-queryparser-uptodate">
- <ant dir="${common.dir}/contrib/queryparser" target="jar-core" inheritall="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="queryparser.uptodate" value="true"/>
- </target>
-
- <property name="spatial.jar" value="${common.dir}/build/contrib/spatial/lucene-spatial-${version}.jar"/>
- <target name="check-spatial-uptodate" unless="spatial.uptodate">
- <contrib-uptodate name="spatial" jarfile="${spatial.jar}" property="spatial.uptodate"/>
- </target>
- <target name="jar-spatial" unless="spatial.uptodate" depends="check-spatial-uptodate">
- <ant dir="${common.dir}/contrib/spatial" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="spatial.uptodate" value="true"/>
- </target>
-
- <property name="spellchecker.jar" value="${common.dir}/build/contrib/spellchecker/lucene-spellchecker-${version}.jar"/>
- <target name="check-spellchecker-uptodate" unless="spellchecker.uptodate">
- <contrib-uptodate name="spellchecker" jarfile="${spellchecker.jar}" property="spellchecker.uptodate"/>
- </target>
- <target name="jar-spellchecker" unless="spellchecker.uptodate" depends="check-spellchecker-uptodate">
- <ant dir="${common.dir}/contrib/spellchecker" target="jar-core" inheritAll="false">
- <propertyset refid="uptodate.and.compiled.properties"/>
- </ant>
- <property name="spellchecker.uptodate" value="true"/>
- </target>
-</project>