mirror of https://github.com/apache/lucene.git
127 lines
5.6 KiB
XML
127 lines
5.6 KiB
XML
<?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="solr-test-framework" default="default">
|
|
<description>Solr Test Framework</description>
|
|
|
|
<import file="../common-build.xml"/>
|
|
|
|
<path id="solr.test.framework.lucene.libs">
|
|
<pathelement location="${test-framework.jar}"/>
|
|
</path>
|
|
|
|
<path id="classpath">
|
|
<fileset dir="lib" excludes="${common.classpath.excludes}"/>
|
|
<path refid="solr.test.framework.lucene.libs" />
|
|
<path refid="solr.base.classpath"/>
|
|
</path>
|
|
|
|
<!-- Redefine Lucene test-framework compilation here to avoid circular dependency on compile-core -->
|
|
<target name="compile-test-framework">
|
|
<ant dir="${common.dir}" target="compile-test-framework" inheritall="false">
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
</ant>
|
|
</target>
|
|
|
|
<target name="compile-core" depends="resolve, compile-solr-core, compile-test-framework">
|
|
<!-- TODO: why does test-framework override compile-core to use this special classpath? -->
|
|
<compile srcdir="${src.dir}" destdir="${build.dir}/classes/java">
|
|
<classpath refid="test.base.classpath"/>
|
|
</compile>
|
|
|
|
<!-- Copy the resources folder (if existent) -->
|
|
<copy todir="${build.dir}/classes/java">
|
|
<fileset dir="${resources.dir}" erroronmissingdir="no"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- redefine the clover setup, because we dont want to run clover for the test-framework -->
|
|
<target name="-clover.setup" if="run.clover"/>
|
|
|
|
<!-- redefine the test compilation, so it's just a no-op -->
|
|
<target name="compile-test"/>
|
|
|
|
<!-- redefine the forbidden apis for tests, as we check ourselves -->
|
|
<target name="-check-forbidden-tests" depends="-init-forbidden-apis,compile-core">
|
|
<forbidden-apis suppressAnnotation="**.SuppressForbidden" signaturesFile="${common.dir}/tools/forbiddenApis/tests.txt" classpathref="forbidden-apis.allclasses.classpath">
|
|
<fileset dir="${build.dir}/classes/java"/>
|
|
</forbidden-apis>
|
|
</target>
|
|
|
|
<!-- Override common-solr.javadocs to include JUnit links -->
|
|
<!-- and to copy the built javadocs to ${dest}/docs/api/test-framework -->
|
|
<target name="javadocs"
|
|
depends="compile-core,jar-test-framework,lucene-javadocs,javadocs-test-framework,define-lucene-javadoc-url,check-javadocs-uptodate" unless="javadocs-uptodate-${name}">
|
|
<sequential>
|
|
<mkdir dir="${javadoc.dir}/${name}"/>
|
|
<!-- NOTE: explicitly not using solr-invoke-javadoc, or attempting to
|
|
link to lucene-test-framework because if we did javadoc would
|
|
attempt to link class refs in in org.apache.lucene, causing
|
|
broken links. (either broken links to things like "Directory" if
|
|
lucene-test-framework was first, or broken links to things like
|
|
LuceneTestCase if lucene-core was first)
|
|
-->
|
|
<invoke-javadoc destdir="${javadoc.dir}/${name}"
|
|
title="${Name} ${version} Test Framework API">
|
|
<sources>
|
|
<link offline="true" href="${javadoc.link.junit}"
|
|
packagelistLoc="${javadoc.packagelist.dir}/junit"/>
|
|
<packageset dir="${src.dir}"/>
|
|
</sources>
|
|
</invoke-javadoc>
|
|
<solr-jarify basedir="${javadoc.dir}/${name}" destfile="${build.dir}/${final.name}-javadoc.jar"/>
|
|
</sequential>
|
|
</target>
|
|
<target name="module-jars-to-solr"
|
|
depends="-module-jars-to-solr-not-for-package,-module-jars-to-solr-package"/>
|
|
<target name="-module-jars-to-solr-not-for-package" unless="called.from.create-package">
|
|
<antcall target="jar-test-framework" inheritall="true"/>
|
|
<property name="test-framework.uptodate" value="true"/>
|
|
<mkdir dir="${build.dir}/lucene-libs"/>
|
|
<copy todir="${build.dir}/lucene-libs" preservelastmodified="true" flatten="true" failonerror="true" overwrite="true">
|
|
<path refid="solr.test.framework.lucene.libs" />
|
|
</copy>
|
|
</target>
|
|
<target name="-module-jars-to-solr-package" if="called.from.create-package">
|
|
<antcall target="-unpack-lucene-tgz" inheritall="true"/>
|
|
<pathconvert property="relative.solr.test.framework.lucene.libs" pathsep=",">
|
|
<path refid="solr.test.framework.lucene.libs"/>
|
|
<globmapper from="${common.build.dir}/*" to="*" handledirsep="true"/>
|
|
</pathconvert>
|
|
<mkdir dir="${build.dir}/lucene-libs"/>
|
|
<copy todir="${build.dir}/lucene-libs" preservelastmodified="true" flatten="true" failonerror="true" overwrite="true">
|
|
<fileset dir="${lucene.tgz.unpack.dir}/lucene-${version}" includes="${relative.solr.test.framework.lucene.libs}"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="dist" depends="module-jars-to-solr, common-solr.dist">
|
|
<!-- we're not a contrib, our lucene-libs and go in a special place -->
|
|
<mkdir dir="${dist}/test-framework" />
|
|
<copy todir="${dist}/test-framework">
|
|
<fileset dir="${build.dir}">
|
|
<include name="lucene-libs/*.jar" />
|
|
</fileset>
|
|
<fileset dir=".">
|
|
<include name="lib/*" />
|
|
<include name="README.txt" />
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
|
|
</project>
|
|
|