mirror of https://github.com/apache/lucene.git
197 lines
7.1 KiB
XML
197 lines
7.1 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-cell" default="build">
|
|
|
|
<property name="solr-path" value="../.." />
|
|
|
|
<import file="../../common-build.xml"/>
|
|
|
|
<description>
|
|
Solr Integration with Tika for extracting content from binary file formats such as Microsoft Word and Adobe PDF.
|
|
</description>
|
|
|
|
<path id="common.classpath">
|
|
<pathelement location="${solr-path}/build/solr" />
|
|
<pathelement location="${solr-path}/build/solrj" />
|
|
<fileset dir="lib" includes="*.jar"/>
|
|
<fileset dir="${solr-path}/lib" includes="*.jar"/>
|
|
<path refid="lucene.classpath"/>
|
|
</path>
|
|
|
|
<path id="test.classpath">
|
|
<path refid="common.classpath" />
|
|
<pathelement path="${dest}/classes" />
|
|
<pathelement path="${dest}/test-classes" />
|
|
<pathelement location="${solr-path}/build/test-framework"/> <!-- include solr test code -->
|
|
<pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
|
|
<pathelement path="${java.class.path}"/>
|
|
</path>
|
|
|
|
<target name="clean">
|
|
<delete failonerror="false" dir="${dest}"/>
|
|
</target>
|
|
|
|
<target name="init">
|
|
<mkdir dir="${dest}/classes"/>
|
|
<mkdir dir="${build.javadoc}" />
|
|
<subant target="compileTestFramework">
|
|
<fileset dir="${solr-path}" includes="build.xml"/>
|
|
</subant>
|
|
<subant target="make-manifest">
|
|
<fileset dir="${solr-path}" includes="build.xml"/>
|
|
</subant>
|
|
|
|
</target>
|
|
|
|
<target name="compile" depends="init">
|
|
<solr-javac destdir="${dest}/classes"
|
|
classpathref="common.classpath">
|
|
<src path="src/main/java" />
|
|
</solr-javac>
|
|
</target>
|
|
|
|
<target name="build" depends="compile">
|
|
<solr-jar destfile="${dest}/${fullnamever}.jar" basedir="${dest}/classes"
|
|
manifest="../../${dest}/META-INF/MANIFEST.MF">
|
|
|
|
</solr-jar>
|
|
</target>
|
|
|
|
<target name="compileTests" depends="compile">
|
|
<solr-javac destdir="${dest}/test-classes"
|
|
classpathref="test.classpath">
|
|
<src path="src/test/java" />
|
|
</solr-javac>
|
|
<!-- Copy any data files present to the classpath -->
|
|
<copy todir="${dest}/test-classes">
|
|
<fileset dir="src/test/resources" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<property name="tempDir" value="${junit.output.dir}/temp" />
|
|
|
|
<target name="test" depends="compileTests">
|
|
<mkdir dir="${junit.output.dir}"/>
|
|
<!-- <mkdir dir="@{tempDir}/@{pattern}"/>
|
|
This is very loud and obnoxious. abuse touch instead for a "quiet" mkdir
|
|
-->
|
|
<touch file="${tempDir}/quiet.ant" verbose="false" mkdirs="true"/>
|
|
|
|
<condition property="runall">
|
|
<not>
|
|
<or>
|
|
<isset property="testcase"/>
|
|
<isset property="testpackage"/>
|
|
<isset property="testpackageroot"/>
|
|
</or>
|
|
</not>
|
|
</condition>
|
|
|
|
<junit printsummary="no"
|
|
haltonfailure="no"
|
|
maxmemory="512M"
|
|
errorProperty="tests.failed"
|
|
failureProperty="tests.failed"
|
|
dir="${tempDir}"
|
|
tempdir="${tempDir}"
|
|
forkmode="perBatch"
|
|
>
|
|
<sysproperty key="java.util.logging.config.file" value="${common-solr.dir}/testlogging.properties"/>
|
|
<sysproperty key="tests.luceneMatchVersion" value="${tests.luceneMatchVersion}"/>
|
|
<sysproperty key="tests.codecprovider" value="${tests.codecprovider}"/>
|
|
<sysproperty key="tests.codec" value="${tests.codec}"/>
|
|
<sysproperty key="tests.locale" value="${tests.locale}"/>
|
|
<sysproperty key="tests.timezone" value="${tests.timezone}"/>
|
|
<sysproperty key="tests.multiplier" value="${tests.multiplier}"/>
|
|
<sysproperty key="tests.iter" value="${tests.iter}"/>
|
|
<sysproperty key="tests.seed" value="${tests.seed}"/>
|
|
<sysproperty key="tests.verbose" value="${tests.verbose}"/>
|
|
<!-- set whether or not nightly tests should run -->
|
|
<sysproperty key="tests.nightly" value="${tests.nightly}"/>
|
|
<sysproperty key="jetty.testMode" value="1"/>
|
|
<sysproperty key="tempDir" file="${tempDir}"/>
|
|
<sysproperty key="testmethod" value="${testmethod}"/>
|
|
<sysproperty key="tests.directory" value="${tests.directory}"/>
|
|
<sysproperty key="solr.directoryFactory" value="org.apache.solr.core.MockDirectoryFactory"/>
|
|
<jvmarg line="${args}"/>
|
|
<formatter classname="${junit.details.formatter}" usefile="false" if="junit.details"/>
|
|
<classpath refid="test.classpath"/>
|
|
<assertions>
|
|
<enable package="org.apache.lucene"/>
|
|
<enable package="org.apache.solr"/>
|
|
</assertions>
|
|
<formatter type="${junit.formatter}"/>
|
|
<batchtest fork="yes" todir="${junit.output.dir}" if="runall">
|
|
<fileset dir="src/test/java" includes="${junit.includes}"/>
|
|
</batchtest>
|
|
<batchtest fork="yes" todir="${junit.output.dir}" if="testcase">
|
|
<fileset dir="src/test/java" includes="**/${testcase}.java"/>
|
|
</batchtest>
|
|
<batchtest fork="yes" todir="${junit.output.dir}" if="testpackage">
|
|
<fileset dir="src/test/java" includes="**/${testpackage}/**/Test*.java,**/${testpackage}/**/*Test.java"/>
|
|
</batchtest>
|
|
<batchtest fork="yes" todir="${junit.output.dir}" if="testpackageroot">
|
|
<fileset dir="src/test/java" includes="**/${testpackageroot}/Test*.java,**/${testpackageroot}/*Test.java"/>
|
|
</batchtest>
|
|
</junit>
|
|
|
|
<fail if="tests.failed">Tests failed!</fail>
|
|
</target>
|
|
|
|
<target name="test-reports"
|
|
description="Generates HTML test reports.">
|
|
<mkdir dir="${junit.reports}"/>
|
|
<junitreport todir="${junit.output.dir}">
|
|
<fileset dir="${junit.output.dir}">
|
|
<include name="TEST-*.xml"/>
|
|
</fileset>
|
|
<report format="frames" todir="${junit.reports}"/>
|
|
</junitreport>
|
|
</target>
|
|
|
|
<target name="dist" depends="build">
|
|
<copy file="build/${fullnamever}.jar" todir="${solr-path}/dist"/>
|
|
</target>
|
|
|
|
<target name="example" depends="build">
|
|
<!-- :NOOP: this use to copy libs but now we can refer to them by path -->
|
|
</target>
|
|
|
|
<target name="javadoc">
|
|
<sequential>
|
|
<mkdir dir="${build.javadoc}/contrib-${name}"/>
|
|
|
|
<path id="javadoc.classpath">
|
|
<path refid="common.classpath"/>
|
|
</path>
|
|
|
|
<invoke-javadoc
|
|
destdir="${build.javadoc}/contrib-${name}"
|
|
title="${Name} ${version} contrib-${fullnamever} API">
|
|
<sources>
|
|
<packageset dir="src/main/java"/>
|
|
</sources>
|
|
</invoke-javadoc>
|
|
</sequential>
|
|
</target>
|
|
|
|
|
|
</project>
|