mirror of https://github.com/apache/lucene.git
SOLR-2452: commit my state
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/branches/solr2452@1087603 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
e3162c28d4
commit
dc58134cdc
|
@ -57,6 +57,7 @@
|
|||
<classpathentry kind="src" path="solr/src/webapp/src"/>
|
||||
<classpathentry kind="src" path="solr/src/common"/>
|
||||
<classpathentry kind="src" path="solr/src/solrj"/>
|
||||
<classpathentry kind="src" path="solr/src/test-framework"/>
|
||||
<classpathentry kind="src" path="solr/src/test"/>
|
||||
<classpathentry kind="src" path="solr/src/test-files"/>
|
||||
<classpathentry kind="src" path="solr/contrib/analysis-extras/src/java"/>
|
||||
|
|
|
@ -515,8 +515,11 @@
|
|||
<sysproperty key="tests.seed" value="${tests.seed}"/>
|
||||
<!-- set the Version that tests should run against -->
|
||||
<sysproperty key="tests.luceneMatchVersion" value="${tests.luceneMatchVersion}"/>
|
||||
<!-- for lucene we can be strict, and we don't want false fails even across methods -->
|
||||
<!-- for lucene we can be strict, and we don't want false fails even across methods
|
||||
make this a param so lucene-core/contrib tests use it only?
|
||||
<sysproperty key="tests.cleanthreads" value="perMethod"/>
|
||||
-->
|
||||
<sysproperty key="tests.cleanthreads" value="perClass"/>
|
||||
<!-- logging config file -->
|
||||
<sysproperty key="java.util.logging.config.file" value="${tests.loggingfile}"/>
|
||||
<!-- set whether or not nightly tests should run -->
|
||||
|
|
1162
solr/build.xml
1162
solr/build.xml
File diff suppressed because it is too large
Load Diff
|
@ -15,624 +15,106 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
<project name="common-solr" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
|
||||
<project name="common-solr" default="default">
|
||||
<description>
|
||||
This file is designed for importing into a main build file, and not intended
|
||||
for standalone use.
|
||||
</description>
|
||||
|
||||
<dirname file="${ant.file.common-solr}" property="common-solr.dir"/>
|
||||
<import file="${common-solr.dir}/../common-build.xml"/>
|
||||
|
||||
<!-- change this together with the default and test's solrconfig.xml after starting a new development branch: -->
|
||||
<property name="tests.luceneMatchVersion" value="4.0"/>
|
||||
|
||||
<!-- Initialize property values: allow easy customization via build.properties -->
|
||||
<property file="build.properties" />
|
||||
|
||||
<property name="Name" value="Solr" />
|
||||
|
||||
<property name="name" value="${ant.project.name}"/>
|
||||
|
||||
<property name="dev-tools.dir" value="${solr-path}/../dev-tools"/>
|
||||
<property name="prettify.dir" value="${solr-path}/../lucene/src/tools/prettify"/>
|
||||
<property name="package.dir" location="package"/>
|
||||
|
||||
<tstamp>
|
||||
<format property="year" pattern="yyyy"/>
|
||||
<format property="DSTAMP" pattern="yyyy-MM-dd"/>
|
||||
<format property="TSTAMP" pattern="HH:mm:ss"/>
|
||||
<!-- datetime format that is safe to treat as part of a dotted version -->
|
||||
<format property="dateversion" pattern="yyyy.MM.dd.HH.mm.ss" />
|
||||
</tstamp>
|
||||
|
||||
<property name="junit.details" value="1"/>
|
||||
|
||||
<!-- default arguments to pass to jvm executing tests -->
|
||||
<property name="args" value="" />
|
||||
|
||||
<!-- TODO: measure toning this down by default to 1 -->
|
||||
<property name="tests.threadspercpu" value="2"/>
|
||||
<condition property="tests.sequential">
|
||||
<or>
|
||||
<isset property="testcase"/>
|
||||
<equals arg1="${tests.threadspercpu}" arg2="0"/>
|
||||
</or>
|
||||
</condition>
|
||||
|
||||
<property name="tests.multiplier" value="1" />
|
||||
<property name="tests.codec" value="randomPerField" />
|
||||
<property name="tests.locale" value="random" />
|
||||
<property name="tests.timezone" value="random" />
|
||||
<property name="tests.iter" value="1" />
|
||||
<property name="tests.seed" value="random" />
|
||||
<property name="tests.nightly" value="false" />
|
||||
<property name="tests.verbose" value="false" />
|
||||
|
||||
<condition property="dir.prop" value="-Dsolr.directoryFactory=solr.StandardDirectoryFactory">
|
||||
<isset property="use.fsdir"/>
|
||||
</condition>
|
||||
|
||||
<!-- Example directory -->
|
||||
<property name="example" value="${common-solr.dir}/example" />
|
||||
<!--
|
||||
we attempt to exec svnversion to get details build information
|
||||
for jar manifests. this property can be set at runtime to an
|
||||
explicit path as needed, or ant will just try to find it in the
|
||||
default PATH. (this is useful for Hudson)
|
||||
-->
|
||||
<property name="svnversion.exe" value="svnversion" />
|
||||
<property name="svn.exe" value="svn" />
|
||||
|
||||
<!-- Java Version we are compatible with -->
|
||||
<property name="java.compat.version" value="1.6" />
|
||||
|
||||
<!-- clover wants to run with -lib, otherwise we prefer a repeatable
|
||||
classpath -->
|
||||
<property name="javac.includeAntRuntime" value="${run.clover}"/>
|
||||
|
||||
<!-- Solr Implementation Version -->
|
||||
<!--
|
||||
This can be any string value that does not include spaces
|
||||
This will be used when creating build artifact file names.
|
||||
|
||||
By default, this should be set to "X.Y.N-SNAPSHOT" where X.Y.N is
|
||||
"1 greater" then the last version released (on this branch).
|
||||
-->
|
||||
<property name="version" value="4.0-SNAPSHOT"/>
|
||||
<property name="final.name" value="apache-${name}-${version}"/>
|
||||
|
||||
<!-- Solr Specification Version -->
|
||||
<!--
|
||||
This will be used in the Manifest file, and therefore must
|
||||
match the pattern "digit+{.digit+}*"
|
||||
<!-- solr uses 1.6 -->
|
||||
<property name="javac.source" value="1.6"/>
|
||||
<property name="javac.target" value="1.6"/>
|
||||
|
||||
By default, this should be set to "X.Y.M.${dateversion}"
|
||||
where X.Y.M is the last version released (on this branch).
|
||||
-->
|
||||
<property name="specversion" value="4.0.0.${dateversion}" />
|
||||
<!-- solr uses its own build/dist directories -->
|
||||
<property name="build.dir" location="${common-solr.dir}/build"/>
|
||||
<property name="dist.dir" location="${common-solr.dir}/dist"/>
|
||||
<property name="tests.userdir" value="${common-solr.dir}/src/test-files"/>
|
||||
<property name="javadoc.dir" location="${common-solr.dir}/build/docs/api"/>
|
||||
<property name="javadoc.link" value="http://java.sun.com/javase/6/docs/api/"/>
|
||||
|
||||
|
||||
<!-- Type of checksum to compute for distribution files -->
|
||||
<property name="checksum.algorithm" value="md5" />
|
||||
|
||||
<property name="fullname" value="apache-${ant.project.name}"/>
|
||||
<property name="fullnamever" value="apache-${ant.project.name}-${version}"/>
|
||||
|
||||
<!-- Destination for compiled classes and binaries -->
|
||||
<property name="dest" value="build" />
|
||||
|
||||
<!-- Destination for Lucene jars -->
|
||||
<property name="lucene-libs" location="lucene-libs" />
|
||||
|
||||
<!-- Javadoc properties -->
|
||||
<property name="javadoc.years" value="2006 - ${year}" />
|
||||
<property name="javadoc.access" value="protected"/>
|
||||
<property name="javadoc.link.java"
|
||||
value="http://java.sun.com/javase/6/docs/api/"/>
|
||||
<property name="javadoc.link.junit"
|
||||
value="http://junit.sourceforge.net/javadoc/"/>
|
||||
<property name="javadoc.link.lucene"
|
||||
value="https://hudson.apache.org/hudson/job/Lucene-trunk/javadoc/all/"/>
|
||||
<property name="javadoc.packages" value="org.apache.solr.*"/>
|
||||
<property name="build.docs" value="${dest}/docs"/>
|
||||
<property name="build.javadoc" value="${common-solr.dir}/${build.docs}/api"/>
|
||||
<property name="build.javadoc.solrj" value="${build.docs}/api-solrj"/>
|
||||
|
||||
<!-- JUnit properties -->
|
||||
<property name="testmethod" value=""/>
|
||||
<property name="junit.includes" value="**/Test*.java,**/*Test.java"/>
|
||||
<property name="junit.output.dir" location="${common-solr.dir}/${dest}/test-results"/>
|
||||
<property name="junit.reports" location="${common-solr.dir}/${dest}/test-results/reports"/>
|
||||
<property name="junit.formatter" value="plain"/>
|
||||
<condition property="junit.details.formatter"
|
||||
value="org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"
|
||||
else="org.apache.lucene.util.LuceneJUnitResultFormatter">
|
||||
<isset property="tests.sequential"/>
|
||||
</condition>
|
||||
<property name="junit.parallel.selector" value="org.apache.lucene.util.LuceneJUnitDividingSelector"/>
|
||||
|
||||
<!-- Maven properties -->
|
||||
<property name="maven.build.dir" value="${basedir}/build/maven"/>
|
||||
<property name="maven.dist.dir" value="${package.dir}/maven"/>
|
||||
|
||||
<property name="maven.dist.prefix" value="${maven.dist.dir}/org/apache/solr"/>
|
||||
|
||||
<!-- By default, "deploy" to a temporary directory (as well as installing
|
||||
into your local repository). If you wish to deploy to a remote
|
||||
repository, set this property to the URL of that repository. In
|
||||
addition, if the repository requires authentication, you can set
|
||||
properties "m2.repository.username" and "m2.repository.private.key"
|
||||
to define your credentials.
|
||||
-->
|
||||
<property name="m2.repository.url" value="file://${maven.dist.dir}"/>
|
||||
<property name="m2.repository.private.key" value="${user.home}/.ssh/id_dsa"/>
|
||||
|
||||
<available property="maven.ant.tasks.present" classname="org.apache.maven.artifact.ant.Pom" />
|
||||
|
||||
<!-- End Maven Properties -->
|
||||
|
||||
<available property="clover.present"
|
||||
classname="com.cenqua.clover.tasks.CloverReportTask"
|
||||
/>
|
||||
<condition property="clover.enabled">
|
||||
<and>
|
||||
<isset property="run.clover"/>
|
||||
<isset property="clover.present"/>
|
||||
</and>
|
||||
</condition>
|
||||
|
||||
<!-- Lucene -->
|
||||
|
||||
<path id="lucene.classpath">
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../modules/analysis/build/common/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../modules/analysis/build/phonetic/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/contrib/highlighter/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/contrib/memory/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/contrib/misc/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/contrib/queries/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/contrib/spatial/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/contrib/spellchecker/classes/java" />
|
||||
<path id="additional.dependencies">
|
||||
<fileset dir="${common-solr.dir}/lib" includes="**/*.jar"/>
|
||||
<fileset dir="${common-solr.dir}/example/lib" includes="**/*.jar"/>
|
||||
<fileset dir="lib" includes="**/*.jar" erroronmissingdir="false"/>
|
||||
</path>
|
||||
|
||||
<target name="prep-lucene-jars">
|
||||
<sequential>
|
||||
<subant target="jar-core" inheritall="false" failonerror="true">
|
||||
<fileset dir="../lucene/" includes="build.xml" />
|
||||
</subant>
|
||||
<subant target="jar" inheritall="false" failonerror="true">
|
||||
<fileset dir="../modules/analysis/common" includes="build.xml" />
|
||||
<fileset dir="../modules/analysis/phonetic" includes="build.xml" />
|
||||
<fileset dir="../lucene/contrib/highlighter" includes="build.xml" />
|
||||
<fileset dir="../lucene/contrib/memory" includes="build.xml" />
|
||||
<fileset dir="../lucene/contrib/misc" includes="build.xml" />
|
||||
<fileset dir="../lucene/contrib/queries" includes="build.xml" />
|
||||
<fileset dir="../lucene/contrib/spatial" includes="build.xml" />
|
||||
<fileset dir="../lucene/contrib/spellchecker" includes="build.xml" />
|
||||
</subant>
|
||||
</sequential>
|
||||
</target>
|
||||
<pathconvert property="project.classpath" targetos="unix" refid="additional.dependencies"/>
|
||||
|
||||
<target name="lucene-jars-to-solr" depends="prep-lucene-jars">
|
||||
<mkdir dir="${lucene-libs}"/>
|
||||
<copy todir="${lucene-libs}" preservelastmodified="true" flatten="true" failonerror="true" overwrite="true">
|
||||
<fileset dir="../lucene/build/">
|
||||
<include name="lucene-core-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../modules/analysis/build/common">
|
||||
<include name="lucene-analyzers-common-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../modules/analysis/build/phonetic">
|
||||
<include name="lucene-analyzers-phonetic-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../lucene/build/contrib/highlighter">
|
||||
<include name="lucene-highlighter-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../lucene/build/contrib/memory">
|
||||
<include name="lucene-memory-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../lucene/build/contrib/misc">
|
||||
<include name="lucene-misc-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../lucene/build/contrib/queries">
|
||||
<include name="lucene-queries-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../lucene/build/contrib/spatial">
|
||||
<include name="lucene-spatial-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="../lucene/build/contrib/spellchecker">
|
||||
<include name="lucene-spellchecker-${version}.jar" />
|
||||
</fileset>
|
||||
</copy>
|
||||
</target>
|
||||
<property name="tests.loggingfile" value="${common-solr.dir}/testlogging.properties"/>
|
||||
|
||||
<target name="compile-lucene" unless="lucene-compiled">
|
||||
<property name="lucene-compiled" value="true"/>
|
||||
<subant target="default">
|
||||
<fileset dir="../modules/analysis/common" includes="build.xml"/>
|
||||
<fileset dir="../modules/analysis/phonetic" includes="build.xml"/>
|
||||
<fileset dir="../lucene/contrib/highlighter" includes="build.xml"/>
|
||||
<fileset dir="../lucene/contrib/memory" includes="build.xml"/>
|
||||
<fileset dir="../lucene/contrib/misc" includes="build.xml"/>
|
||||
<fileset dir="../lucene/contrib/queries" includes="build.xml"/>
|
||||
<fileset dir="../lucene/contrib/spatial" includes="build.xml"/>
|
||||
<fileset dir="../lucene/contrib/spellchecker" includes="build.xml"/>
|
||||
</subant>
|
||||
</target>
|
||||
<property name="tests.threadspercpu" value="2"/>
|
||||
|
||||
<import file="../lucene/contrib/contrib-build.xml"/>
|
||||
|
||||
<!-- Macro for compilation -->
|
||||
<macrodef name="solr-javac">
|
||||
<attribute name="destdir" />
|
||||
<attribute name="classpathref" />
|
||||
<element name="nested" optional="true" implicit="true" />
|
||||
<sequential>
|
||||
<mkdir dir="@{destdir}" />
|
||||
<javac destdir="@{destdir}"
|
||||
target="${java.compat.version}"
|
||||
source="${java.compat.version}"
|
||||
debug="on"
|
||||
encoding="utf8"
|
||||
includeAntRuntime="${javac.includeAntRuntime}"
|
||||
sourcepath=""
|
||||
classpathref="@{classpathref}">
|
||||
<compilerarg line="-Xlint -Xlint:-deprecation -Xlint:-serial"/>
|
||||
<nested />
|
||||
</javac>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
<!-- solr depends on the following modules/contribs -->
|
||||
<module-uptodate name="analysis/common" jarfile="${common.dir}/../modules/analysis/build/common/lucene-analyzers-common-${version}.jar"
|
||||
property="analyzers-common.uptodate" classpath.property="analyzers-common.jar"/>
|
||||
<module-uptodate name="analysis/phonetic" jarfile="${common.dir}/../modules/analysis/build/phonetic/lucene-analyzers-phonetic-${version}.jar"
|
||||
property="analyzers-phonetic.uptodate" classpath.property="analyzers-phonetic.jar"/>
|
||||
<contrib-uptodate name="highlighter" property="highlighter.uptodate" classpath.property="highlighter.jar"/>
|
||||
<contrib-uptodate name="memory" property="memory.uptodate" classpath.property="memory.jar"/>
|
||||
<contrib-uptodate name="misc" property="misc.uptodate" classpath.property="misc.jar"/>
|
||||
<contrib-uptodate name="queries" property="queries.uptodate" classpath.property="queries.jar"/>
|
||||
<contrib-uptodate name="spatial" property="spatial.uptodate" classpath.property="spatial.jar"/>
|
||||
<contrib-uptodate name="spellchecker" property="spellchecker.uptodate" classpath.property="spellchecker.jar"/>
|
||||
|
||||
<!-- Macro for building Jars -->
|
||||
<macrodef name="solr-jar">
|
||||
<attribute name="destfile" />
|
||||
<attribute name="basedir" default="." />
|
||||
<attribute name="includes" default="org/apache/**" />
|
||||
<attribute name="excludes" default="" />
|
||||
<attribute name="manifest" default="${common-solr.dir}/${dest}/META-INF/MANIFEST.MF" />
|
||||
<element name="nested" optional="true" implicit="true" />
|
||||
<sequential>
|
||||
<jar destfile="@{destfile}"
|
||||
basedir="@{basedir}"
|
||||
includes="@{includes}"
|
||||
excludes="@{excludes}"
|
||||
filesetmanifest="skip"
|
||||
manifest="@{manifest}">
|
||||
<metainf dir="${common-solr.dir}" includes="LICENSE.txt,NOTICE.txt"/>
|
||||
<nested />
|
||||
</jar>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
<path id="solr.base.classpath">
|
||||
<pathelement path="${analyzers-common.jar}"/>
|
||||
<pathelement path="${analyzers-phonetic.jar}"/>
|
||||
<pathelement path="${highlighter.jar}"/>
|
||||
<pathelement path="${memory.jar}"/>
|
||||
<pathelement path="${misc.jar}"/>
|
||||
<pathelement path="${queries.jar}"/>
|
||||
<pathelement path="${spatial.jar}"/>
|
||||
<pathelement path="${spellchecker.jar}"/>
|
||||
<pathelement location="${common-solr.dir}/build/classes/solrj"/>
|
||||
<pathelement location="${common-solr.dir}/build/classes/webapp"/>
|
||||
<pathelement location="${common-solr.dir}/build/classes/java"/>
|
||||
<path refid="base.classpath"/>
|
||||
</path>
|
||||
|
||||
<!-- Macro for building checksum files
|
||||
This is only needed until the "format" option is supported
|
||||
by ant's built in checksum task
|
||||
-->
|
||||
<macrodef name="solr-checksum">
|
||||
<attribute name="file"/>
|
||||
<sequential>
|
||||
<echo>Building checksums for '@{file}'</echo>
|
||||
<checksum file="@{file}" algorithm="md5" format="MD5SUM" forceoverwrite="yes" readbuffersize="65536"/>
|
||||
<checksum file="@{file}" algorithm="sha1" format="MD5SUM" forceoverwrite="yes" readbuffersize="65536"/>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
<path id="classpath" refid="solr.base.classpath"/>
|
||||
|
||||
<path id="solr.test.base.classpath">
|
||||
<pathelement path="${common-solr.dir}/build/classes/test-framework"/>
|
||||
<pathelement path="${common-solr.dir}/build/classes/test"/>
|
||||
<pathelement path="${tests.userdir}"/>
|
||||
<path refid="test.base.classpath"/>
|
||||
</path>
|
||||
|
||||
<path id="test.classpath" refid="solr.test.base.classpath"/>
|
||||
|
||||
<!-- TODO: lucene and solr should share this macro -->
|
||||
<macrodef name="contrib-crawl">
|
||||
<attribute name="target" default=""/>
|
||||
<attribute name="failonerror" default="true"/>
|
||||
<sequential>
|
||||
<subant target="@{target}" failonerror="@{failonerror}">
|
||||
<property name="lucene-compiled" value="${lucene-compiled}"/>
|
||||
<fileset dir="."
|
||||
includes="contrib/*/build.xml"
|
||||
/>
|
||||
<property name="core.compiled" value="true"/>
|
||||
<property name="solr.core.compiled" value="true"/>
|
||||
<fileset dir="." includes="contrib/*/build.xml"/>
|
||||
</subant>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<property name="failonjavadocwarning" value="true"/>
|
||||
<macrodef name="invoke-javadoc">
|
||||
<element name="sources" optional="yes"/>
|
||||
<attribute name="destdir"/>
|
||||
<attribute name="title" default="${Name} ${version} API (${specversion})"/>
|
||||
<macrodef name="solr-contrib-uptodate">
|
||||
<attribute name="name"/>
|
||||
<attribute name="property" default="@{name}.uptodate"/>
|
||||
<attribute name="classpath.property" default="@{name}.jar"/>
|
||||
<!-- set jarfile only, if the target jar file has no generic name -->
|
||||
<attribute name="jarfile" default="${common-solr.dir}/build/contrib/@{name}/@{name}-${version}.jar"/>
|
||||
<sequential>
|
||||
<mkdir dir="@{destdir}"/>
|
||||
<copy todir="@{destdir}/prettify" overwrite="false">
|
||||
<fileset dir="${prettify.dir}"/>
|
||||
</copy>
|
||||
<record name="@{destdir}/log_javadoc.txt" action="start" append="no"/>
|
||||
<javadoc
|
||||
packagenames="org.apache.solr.*"
|
||||
failonerror="true"
|
||||
destdir="@{destdir}"
|
||||
access="${javadoc.access}"
|
||||
encoding="utf-8"
|
||||
author="true"
|
||||
version="true"
|
||||
use="true"
|
||||
source="${ant.java.version}"
|
||||
link="${javadoc.link.java}"
|
||||
windowtitle="${Name} ${version} API"
|
||||
doctitle="@{title}"
|
||||
stylesheetfile="@{destdir}/prettify/stylesheet+prettify.css"
|
||||
bottom="Copyright &copy; ${year} Apache Software Foundation. All Rights Reserved.">
|
||||
<tag name="todo" description="To Do:"/>
|
||||
<tag name="uml.property" description="UML Property:"/>
|
||||
<tag name="lucene.experimental"
|
||||
description="WARNING: This API is experimental and might change in incompatible ways in the next release."/>
|
||||
<tag name="lucene.internal"
|
||||
description="NOTE: This API is for Lucene internal purposes only and might change in incompatible ways in the next release."/>
|
||||
<link offline="true" packagelistLoc="${build.javadoc}"/>
|
||||
<link href="${javadoc.link.java}"/>
|
||||
<link href="${javadoc.link.junit}"/>
|
||||
<link href="${javadoc.link.lucene}"/>
|
||||
<header><![CDATA[
|
||||
<script src="{@docRoot}/prettify/prettify.js" type="text/javascript"></script>
|
||||
<script language="JavaScript">window.onload=function(){windowTitle();prettyPrint();}</script>
|
||||
]]></header>
|
||||
|
||||
<sources />
|
||||
|
||||
<classpath refid="javadoc.classpath"/>
|
||||
</javadoc>
|
||||
<record name="@{destdir}/log_javadoc.txt" action="stop"/>
|
||||
|
||||
<delete>
|
||||
<fileset file="@{destdir}/log_javadoc.txt">
|
||||
<not>
|
||||
<containsregexp expression="\[javadoc\]\s*[1-9][0-9]*[\s]*warning"/>
|
||||
</not>
|
||||
</fileset>
|
||||
</delete>
|
||||
|
||||
<fail message="Javadocs warnings were found!" >
|
||||
<condition>
|
||||
<and>
|
||||
<available file="@{destdir}/log_javadoc.txt"/>
|
||||
<istrue value="${failonjavadocwarning}"/>
|
||||
</and>
|
||||
</condition>
|
||||
</fail>
|
||||
<!--<echo message="Checking '@{jarfile}' against source folder '${common.dir}/contrib/@{name}/src/java'"/>-->
|
||||
<property name="@{classpath.property}" location="@{jarfile}"/>
|
||||
<uptodate property="@{property}" targetfile="@{jarfile}">
|
||||
<srcfiles dir="${common-solr.dir}/contrib/@{name}/src/main/java" includes="**/*.java"/>
|
||||
</uptodate>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!-- NOTE, the pom.xml MUST be a relative path. An absolute path may break the build on windows -->
|
||||
<macrodef name="m2-deploy" description="Builds a Maven artifact">
|
||||
<element name="artifact-attachments" optional="yes"/>
|
||||
<attribute name="pom.xml" default="pom.xml"/>
|
||||
<attribute name="jar.file" default="${jar.file}"/>
|
||||
<sequential>
|
||||
<artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-7"/>
|
||||
<artifact:pom id="maven.project" file="@{pom.xml}"/>
|
||||
<artifact:deploy file="@{jar.file}">
|
||||
<artifact-attachments/>
|
||||
<remoteRepository url="${m2.repository.url}">
|
||||
<authentication username="${m2.repository.username}" privateKey="${m2.repository.private.key}"/>
|
||||
</remoteRepository>
|
||||
<pom refid="maven.project"/>
|
||||
</artifact:deploy>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="m2-deploy-with-pom-template" description="Builds a Maven artifact given a POM template">
|
||||
<attribute name="pom.xml"/>
|
||||
<attribute name="jar.file"/>
|
||||
<sequential>
|
||||
<copy file="@{pom.xml}" tofile="${maven.build.dir}/@{pom.xml}">
|
||||
<filterset begintoken="@" endtoken="@">
|
||||
<filter token="version" value="${version}"/>
|
||||
</filterset>
|
||||
</copy>
|
||||
<artifact:install-provider artifactId="wagon-ssh" version="1.0-beta-7"/>
|
||||
<artifact:pom id="maven.project" file="${maven.build.dir}/@{pom.xml}" />
|
||||
<artifact:deploy file="@{jar.file}">
|
||||
<remoteRepository url="${m2.repository.url}">
|
||||
<authentication username="${m2.repository.username}" privateKey="${m2.repository.private.key}"/>
|
||||
</remoteRepository>
|
||||
<pom refid="maven.project"/>
|
||||
</artifact:deploy>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<property name="gpg.exe" value="gpg" />
|
||||
<property name="gpg.key" value="CODE SIGNING KEY" />
|
||||
<macrodef name="sign-artifact" description="Signs the artifact">
|
||||
<attribute name="input.file"/>
|
||||
<attribute name="output.file" default="@{input.file}.asc"/>
|
||||
<attribute name="gpg.passphrase"/>
|
||||
<sequential>
|
||||
<echo >Signing @{input.file} Sig File: @{output.file}</echo>
|
||||
|
||||
<exec executable="${gpg.exe}" >
|
||||
<arg value="--batch"/>
|
||||
<arg value="--armor"/>
|
||||
<arg value="--output"/>
|
||||
<arg value="@{output.file}"/>
|
||||
<arg value="--default-key"/>
|
||||
<arg value="${gpg.key}"/>
|
||||
<arg value="--passphrase"/>
|
||||
<arg value="@{gpg.passphrase}"/>
|
||||
<arg value="--detach-sig"/>
|
||||
<arg value="@{input.file}"/>
|
||||
</exec>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!--
|
||||
We need to sign:
|
||||
The POM
|
||||
The library jar
|
||||
The sources jar
|
||||
the javadoc jar
|
||||
-->
|
||||
<macrodef name="sign-maven-artifacts" description="Signs maven artifacts">
|
||||
<attribute name="artifact.id"/>
|
||||
<attribute name="prefix.dir" default="${maven.dist.prefix}"/>
|
||||
<attribute name="gpg.passphrase"/>
|
||||
<sequential>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}.jar" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}-javadoc.jar" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}-sources.jar" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}.pom" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="sign-maven-war-artifacts" description="Signs maven artifacts">
|
||||
<attribute name="artifact.id"/>
|
||||
<attribute name="prefix.dir" default="${maven.dist.prefix}"/>
|
||||
<attribute name="gpg.passphrase"/>
|
||||
<sequential>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}.war" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}.pom" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<macrodef name="sign-maven-dependency-artifacts" description="Signs a maven artifact and its POM">
|
||||
<attribute name="artifact.id"/>
|
||||
<attribute name="prefix.dir" default="${maven.dist.prefix}"/>
|
||||
<attribute name="gpg.passphrase"/>
|
||||
<sequential>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}.jar" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
<sign-artifact input.file="@{prefix.dir}/@{artifact.id}/${version}/@{artifact.id}-${version}.pom" gpg.passphrase="@{gpg.passphrase}"/>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!-- setup proxy for download tasks -->
|
||||
<condition property="proxy.specified">
|
||||
<or>
|
||||
<isset property="proxy.host"/>
|
||||
<isset property="proxy.port"/>
|
||||
<isset property="proxy.user"/>
|
||||
</or>
|
||||
</condition>
|
||||
|
||||
<target name="proxy.setup" if="proxy.specified">
|
||||
<setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}" proxyuser="${proxy.user}" proxypassword="${proxy.password}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<target name="clean-contrib"
|
||||
description="Cleans all contrib modules and their tests">
|
||||
<contrib-crawl target="clean"/>
|
||||
</target>
|
||||
|
||||
<target name="build-contrib"
|
||||
description="Builds all contrib modules and their tests">
|
||||
<contrib-crawl target="build"/>
|
||||
</target>
|
||||
|
||||
<target name="test-contrib" depends="build-contrib">
|
||||
<contrib-crawl target="test" failonerror="true"/>
|
||||
</target>
|
||||
|
||||
<target name="dist-contrib" description="Make the contribs ready for distribution">
|
||||
<contrib-crawl target="dist" failonerror="true" />
|
||||
</target>
|
||||
|
||||
<target name="example-contrib" description="Tell the contrib to add their stuff to examples">
|
||||
<contrib-crawl target="example" failonerror="true" />
|
||||
</target>
|
||||
|
||||
<!-- Creates a Manifest file for Jars and WARs -->
|
||||
<target name="make-manifest">
|
||||
<!-- If possible, include the svnversion -->
|
||||
<exec dir="." executable="${svnversion.exe}" outputproperty="svnversion" failifexecutionfails="false">
|
||||
<arg line="."/>
|
||||
</exec>
|
||||
|
||||
<!-- no description, don't advertise -->
|
||||
<mkdir dir="${dest}/META-INF/" />
|
||||
<manifest mode="replace" file="${dest}/META-INF/MANIFEST.MF">
|
||||
<!--
|
||||
http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest
|
||||
http://java.sun.com/j2se/1.5.0/docs/guide/versioning/spec/versioning2.html
|
||||
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Package.html
|
||||
http://java.sun.com/j2se/1.5.0/docs/api/java/util/jar/package-summary.html
|
||||
http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.html
|
||||
-->
|
||||
<!-- Don't set 'Manifest-Version' it identifies the version of the
|
||||
manifest file format, and should always be 1.0 (the default)
|
||||
|
||||
Don't set 'Created-by' attribute, its purpose is
|
||||
to identify the version of java used to build the jar,
|
||||
which ant will do by default.
|
||||
|
||||
Ant will happily override these with bogus strings if you
|
||||
tell it to, so don't.
|
||||
|
||||
NOTE: we don't use section info because all of our manifest data
|
||||
applies to the entire jar/war ... no package specific info.
|
||||
-->
|
||||
<attribute name="Extension-Name"
|
||||
value="org.apache.solr"/>
|
||||
<attribute name="Specification-Title"
|
||||
value="Apache Solr Search Server"/>
|
||||
<!-- spec version must match "digit+{.digit+}*" -->
|
||||
<attribute name="Specification-Version"
|
||||
value="${specversion}"/>
|
||||
<attribute name="Specification-Vendor"
|
||||
value="The Apache Software Foundation"/>
|
||||
<attribute name="Implementation-Title"
|
||||
value="org.apache.solr"/>
|
||||
<!-- impl version can be any string -->
|
||||
<attribute name="Implementation-Version"
|
||||
value="${version} ${svnversion} - ${user.name} - ${DSTAMP} ${TSTAMP}"/>
|
||||
<attribute name="Implementation-Vendor"
|
||||
value="The Apache Software Foundation"/>
|
||||
<attribute name="X-Compile-Source-JDK"
|
||||
value="${java.compat.version}"/>
|
||||
<attribute name="X-Compile-Target-JDK"
|
||||
value="${java.compat.version}"/>
|
||||
</manifest>
|
||||
</target>
|
||||
|
||||
<target name="maven.ant.tasks-check">
|
||||
<fail unless="maven.ant.tasks.present">#
|
||||
##########################################################################
|
||||
Maven ant tasks not found.
|
||||
|
||||
Please download the Maven ant tasks JAR (maven-ant-tasks-2.1.1.jar)
|
||||
from http://maven.apache.org/ant-tasks/download.html and add it to your
|
||||
$$HOME/.ant/lib/ directory, or to your $$ANT_HOME/lib/ directory, or
|
||||
to your $$CLASSPATH, or add "-lib /path/to/maven-ant-tasks-2.1.1.jar"
|
||||
to the ant command.
|
||||
##########################################################################
|
||||
</fail>
|
||||
</target>
|
||||
<!-- Validation -->
|
||||
<target name="validate" depends="validate-solr"/>
|
||||
<target name="validate-solr" depends="check-legal-solr" unless="validated-solr"/>
|
||||
|
||||
<target name="check-legal-solr" depends="compile-tools">
|
||||
<java classname="org.apache.lucene.validation.DependencyChecker" failonerror="true" fork="true">
|
||||
<classpath>
|
||||
<path refid="tools.runtime.classpath" />
|
||||
</classpath>
|
||||
<!-- TODO: it might be better to just automatically find all directories that contain jar files, but that could take a
|
||||
long time. This should be faster, but we could miss a directory
|
||||
-->
|
||||
<!-- Solr -->
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/contrib/analysis-extras/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/contrib/clustering/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/contrib/dataimporthandler/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/contrib/extraction/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/contrib/uima/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/example/example-DIH/solr/db/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/example/example-DIH/solr/mail/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/example/example/lib" />
|
||||
<arg value="-c" />
|
||||
<arg value="${basedir}/src/test-files/solr/lib" />
|
||||
</java>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -17,194 +17,43 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
<project name="solr-analysis-extras" default="build">
|
||||
|
||||
<property name="solr-path" value="../.."/>
|
||||
|
||||
<import file="../../common-build.xml"/>
|
||||
<project name="solr-analysis-extras" default="default">
|
||||
|
||||
<description>
|
||||
Additional analysis components
|
||||
</description>
|
||||
|
||||
<property name="example.local" value="example"/>
|
||||
<property name="src.dir" location="src/java"/>
|
||||
<property name="tests.src.dir" location="src/test"/>
|
||||
<property name="tests.userdir" location="src/test-files"/>
|
||||
|
||||
<!-- support for the additional analyzers modules -->
|
||||
<path id="modules.classpath">
|
||||
<pathelement location="${common-solr.dir}/../modules/analysis/build/icu/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../modules/analysis/build/smartcn/classes/java" />
|
||||
<pathelement location="${common-solr.dir}/../modules/analysis/build/stempel/classes/java" />
|
||||
<import file="../contrib-build.xml"/>
|
||||
|
||||
<module-uptodate name="analysis/icu" jarfile="${common.dir}/../modules/analysis/build/icu/lucene-analyzers-icu-${version}.jar"
|
||||
property="analyzers-icu.uptodate" classpath.property="analyzers-icu.jar"/>
|
||||
<module-uptodate name="analysis/smartcn" jarfile="${common.dir}/../modules/analysis/build/smartcn/lucene-analyzers-smartcn-${version}.jar"
|
||||
property="analyzers-smartcn.uptodate" classpath.property="analyzers-smartcn.jar"/>
|
||||
<module-uptodate name="analysis/stempel" jarfile="${common.dir}/../modules/analysis/build/stempel/lucene-analyzers-stempel-${version}.jar"
|
||||
property="analyzers-stempel.uptodate" classpath.property="analyzers-stempel.jar"/>
|
||||
|
||||
<path id="classpath">
|
||||
<pathelement path="${analyzers-icu.jar}"/>
|
||||
<pathelement path="${analyzers-smartcn.jar}"/>
|
||||
<pathelement path="${analyzers-stempel.jar}"/>
|
||||
<path refid="solr.base.classpath"/>
|
||||
</path>
|
||||
|
||||
<target name="prep-module-jars">
|
||||
<subant target="jar" inheritall="false" failonerror="true">
|
||||
<fileset dir="${common-solr.dir}/../modules/analysis/icu" includes="build.xml" />
|
||||
<fileset dir="${common-solr.dir}/../modules/analysis/smartcn" includes="build.xml" />
|
||||
<fileset dir="${common-solr.dir}/../modules/analysis/stempel" includes="build.xml" />
|
||||
</subant>
|
||||
<target name="compile-analyzers-icu" unless="analyzers-icu.uptodate">
|
||||
<ant dir="${common.dir}/../modules/analysis/icu" target="default" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<target name="module-jars-to-solr" depends="prep-module-jars">
|
||||
<mkdir dir="${lucene-libs}"/>
|
||||
<copy todir="${lucene-libs}" preservelastmodified="true" flatten="true" failonerror="true" overwrite="true">
|
||||
<fileset dir="${common-solr.dir}/../modules/analysis/build/icu">
|
||||
<include name="lucene-analyzers-icu-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="${common-solr.dir}/../modules/analysis/build/smartcn">
|
||||
<include name="lucene-analyzers-smartcn-${version}.jar" />
|
||||
</fileset>
|
||||
<fileset dir="${common-solr.dir}/../modules/analysis/build/stempel">
|
||||
<include name="lucene-analyzers-stempel-${version}.jar" />
|
||||
</fileset>
|
||||
</copy>
|
||||
<target name="compile-analyzers-smartcn" unless="analyzers-smartcn.uptodate">
|
||||
<ant dir="${common.dir}/../modules/analysis/smartcn" target="default" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<path id="common.classpath">
|
||||
<fileset dir="lib"/>
|
||||
<pathelement location="${solr-path}/build/solr"/>
|
||||
<pathelement location="${solr-path}/build/solrj"/>
|
||||
<path refid="lucene.classpath"/>
|
||||
<path refid="modules.classpath"/>
|
||||
<fileset dir="${solr-path}/lib" includes="*.jar"/>
|
||||
</path>
|
||||
|
||||
<path id="test.classpath">
|
||||
<pathelement path="${dest}/classes"/>
|
||||
<pathelement path="${dest}/test-classes"/>
|
||||
<pathelement path="${java.class.path}"/>
|
||||
<pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
|
||||
<path refid="common.classpath"/>
|
||||
</path>
|
||||
|
||||
<target name="clean">
|
||||
<delete failonerror="false" dir="${dest}"/>
|
||||
|
||||
<!-- example doesn't create this anymore, but clean it up
|
||||
if it's still there from an old build
|
||||
-->
|
||||
<delete dir="example/lib" />
|
||||
<delete dir="${lucene-libs}" />
|
||||
</target>
|
||||
|
||||
|
||||
<target name="init" depends="module-jars-to-solr">
|
||||
<mkdir dir="${dest}/classes"/>
|
||||
|
||||
<mkdir dir="${build.javadoc}"/>
|
||||
<subant target="compileTests">
|
||||
<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/java"/>
|
||||
</solr-javac>
|
||||
</target>
|
||||
|
||||
<target name="build" depends="compile">
|
||||
<solr-jar destfile="${dest}/${fullnamever}.jar" basedir="${dest}/classes"
|
||||
manifest="../../${dest}/META-INF/MANIFEST.MF"/>
|
||||
</target>
|
||||
|
||||
<target name="compileTests" depends="compile">
|
||||
<solr-javac destdir="${dest}/test-classes"
|
||||
classpathref="test.classpath">
|
||||
<src path="src/test"/>
|
||||
</solr-javac>
|
||||
<!-- Copy any data files present to the classpath -->
|
||||
<copy todir="${dest}/test-classes">
|
||||
<fileset dir="src/test-files" excludes="**/*.java"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="example" depends="build,dist">
|
||||
<!-- this task use to copy lib's but that's no longer needed because
|
||||
../lib and ../lib/downloads are now included explicitly by
|
||||
example/conf/solrconfig.xml
|
||||
-->
|
||||
</target>
|
||||
|
||||
|
||||
<target name="test" depends="compileTests">
|
||||
<mkdir dir="${junit.output.dir}"/>
|
||||
|
||||
<junit printsummary="no"
|
||||
haltonfailure="no"
|
||||
maxmemory="512M"
|
||||
errorProperty="tests.failed"
|
||||
failureProperty="tests.failed"
|
||||
dir="${junit.output.dir}"
|
||||
tempdir="${junit.output.dir}"
|
||||
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.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.seed" value="${tests.seed}"/>
|
||||
<sysproperty key="tests.verbose" value="${tests.verbose}"/>
|
||||
<sysproperty key="tests.iter" value="${tests.iter}"/>
|
||||
<!-- 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="${junit.output.dir}"/>
|
||||
<sysproperty key="testmethod" value="${testmethod}"/>
|
||||
<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}" unless="testcase">
|
||||
<fileset dir="src/test" includes="${junit.includes}"/>
|
||||
</batchtest>
|
||||
<batchtest fork="yes" todir="${junit.output.dir}" if="testcase">
|
||||
<fileset dir="src/test" includes="**/${testcase}.java"/>
|
||||
</batchtest>
|
||||
</junit>
|
||||
|
||||
<fail if="tests.failed">Tests failed!</fail>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="build">
|
||||
<!--
|
||||
<copy file="${dest}/${fullnamever}.jar" todir="${solr-path}/build/web/WEB-INF/lib"/>
|
||||
<copy todir="${solr-path}/build/web/WEB-INF/lib" flatten="true">
|
||||
<fileset dir="lib">
|
||||
<include name="**/*.jar"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
-->
|
||||
<copy file="${dest}/${fullnamever}.jar" todir="${solr-path}/dist"/>
|
||||
</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/java"/>
|
||||
</sources>
|
||||
</invoke-javadoc>
|
||||
</sequential>
|
||||
<target name="compile-analyzers-stempel" unless="analyzers-stempel.uptodate">
|
||||
<ant dir="${common.dir}/../modules/analysis/stempel" target="default" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<target name="compile-core" depends="compile-analyzers-icu, compile-analyzers-smartcn, compile-analyzers-stempel, solr-contrib-build.compile-core"/>
|
||||
</project>
|
||||
|
|
|
@ -17,168 +17,15 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
<project name="solr-clustering" default="build">
|
||||
|
||||
<property name="solr-path" value="../.."/>
|
||||
|
||||
<import file="../../common-build.xml"/>
|
||||
<project name="solr-clustering" default="default">
|
||||
|
||||
<description>
|
||||
Clustering Integraton
|
||||
</description>
|
||||
|
||||
<property name="example.local" value="example"/>
|
||||
|
||||
<path id="common.classpath">
|
||||
<fileset dir="lib" includes="*.jar"/>
|
||||
<pathelement location="${solr-path}/build/solr"/>
|
||||
<pathelement location="${solr-path}/build/solrj"/>
|
||||
<path refid="lucene.classpath"/>
|
||||
<fileset dir="${solr-path}/lib" includes="*.jar"/>
|
||||
</path>
|
||||
|
||||
<path id="test.classpath">
|
||||
<pathelement path="${dest}/classes"/>
|
||||
<pathelement path="${dest}/test-classes"/>
|
||||
<pathelement path="${java.class.path}"/>
|
||||
<pathelement location="${common-solr.dir}/build/tests"/> <!-- include solr test code -->
|
||||
<pathelement location="${common-solr.dir}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
|
||||
<path refid="common.classpath"/>
|
||||
<!-- DistributedClusteringComponentTest uses Jetty -->
|
||||
<fileset dir="${solr-path}/example/lib">
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
|
||||
<target name="clean">
|
||||
<delete failonerror="false" dir="${dest}"/>
|
||||
|
||||
<!-- example doesn't create this anymore, but clean it up
|
||||
if it's still there from an old build
|
||||
-->
|
||||
<delete dir="example/lib" />
|
||||
</target>
|
||||
|
||||
|
||||
<target name="init">
|
||||
<mkdir dir="${dest}/classes"/>
|
||||
|
||||
<mkdir dir="${build.javadoc}"/>
|
||||
<subant target="compileTests">
|
||||
<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"/>
|
||||
</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>
|
||||
|
||||
<target name="example" depends="build,dist">
|
||||
<!-- this task use to copy lib's but that's no longer needed because
|
||||
../lib and ../lib/downloads are now included explicitly by
|
||||
example/conf/solrconfig.xml
|
||||
-->
|
||||
</target>
|
||||
|
||||
|
||||
<target name="test" depends="compileTests">
|
||||
<mkdir dir="${junit.output.dir}"/>
|
||||
|
||||
<junit printsummary="no"
|
||||
haltonfailure="no"
|
||||
maxmemory="512M"
|
||||
errorProperty="tests.failed"
|
||||
failureProperty="tests.failed"
|
||||
dir="${junit.output.dir}"
|
||||
tempdir="${junit.output.dir}"
|
||||
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.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.seed" value="${tests.seed}"/>
|
||||
<sysproperty key="tests.verbose" value="${tests.verbose}"/>
|
||||
<sysproperty key="tests.iter" value="${tests.iter}"/>
|
||||
<!-- 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="${junit.output.dir}"/>
|
||||
<sysproperty key="testmethod" value="${testmethod}"/>
|
||||
<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}" unless="testcase">
|
||||
<fileset dir="src/test/java" includes="${junit.includes}">
|
||||
<exclude name="**/AbstractClusteringTest*"/>
|
||||
</fileset>
|
||||
</batchtest>
|
||||
<batchtest fork="yes" todir="${junit.output.dir}" if="testcase">
|
||||
<fileset dir="src/test/java" includes="**/${testcase}.java"/>
|
||||
</batchtest>
|
||||
</junit>
|
||||
|
||||
<fail if="tests.failed">Tests failed!</fail>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="build">
|
||||
<!--
|
||||
<copy file="${dest}/${fullnamever}.jar" todir="${solr-path}/build/web/WEB-INF/lib"/>
|
||||
<copy todir="${solr-path}/build/web/WEB-INF/lib" flatten="true">
|
||||
<fileset dir="lib">
|
||||
<include name="**/*.jar"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
-->
|
||||
<copy file="${dest}/${fullnamever}.jar" todir="${solr-path}/dist"/>
|
||||
</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>
|
||||
<property name="src.dir" location="src/main/java"/>
|
||||
<property name="tests.src.dir" location="src/test/java"/>
|
||||
<property name="tests.userdir" location="src/test/resources"/>
|
||||
|
||||
<import file="../contrib-build.xml"/>
|
||||
</project>
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
<?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-contrib-build">
|
||||
<!-- 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/"/>
|
||||
|
||||
<import file="../common-build.xml"/>
|
||||
|
||||
<target name="build-solr" unless="solr.core.compiled">
|
||||
<ant dir="${common-solr.dir}" target="compile-test" inheritAll="false"/>
|
||||
<!-- set the property for this ant execution to speed up later tasks depending on this -->
|
||||
<property name="solr.core.compiled" value="true"/>
|
||||
</target>
|
||||
|
||||
<target name="compile-core" depends="build-solr, common.compile-core"/>
|
||||
|
||||
<macrodef name="solr-contrib-uptodate">
|
||||
<attribute name="name"/>
|
||||
<attribute name="property" default="solr-@{name}.uptodate"/>
|
||||
<attribute name="classpath.property" default="solr-@{name}.jar"/>
|
||||
<!-- set jarfile only, if the target jar file has no generic name -->
|
||||
<attribute name="jarfile" default="${common-solr.dir}/build/contrib/solr-@{name}/apache-solr-@{name}-${version}.jar"/>
|
||||
<sequential>
|
||||
<!--<echo message="Checking '@{jarfile}' against source folder '${common.dir}/contrib/@{name}/src/java'"/>-->
|
||||
<property name="@{classpath.property}" location="@{jarfile}"/>
|
||||
<uptodate property="@{property}" targetfile="@{jarfile}">
|
||||
<srcfiles dir="../@{name}/src/main/java" includes="**/*.java"/>
|
||||
</uptodate>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
</project>
|
|
@ -0,0 +1,58 @@
|
|||
<?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-dataimporthandler-extras" default="default">
|
||||
|
||||
<description>
|
||||
Data Import Handler Extras
|
||||
</description>
|
||||
|
||||
<property name="src.dir" location="src/main/java"/>
|
||||
<property name="tests.src.dir" location="src/test/java"/>
|
||||
<property name="tests.userdir" location="src/test/resources"/>
|
||||
|
||||
<import file="../contrib-build.xml"/>
|
||||
|
||||
<solr-contrib-uptodate name="dataimporthandler"
|
||||
property="solr-dataimporthandler.uptodate"
|
||||
classpath.property="solr-dataimporthandler.jar"/>
|
||||
|
||||
<target name="compile-solr-dataimporthandler" unless="solr-dataimporthandler.uptodate">
|
||||
<ant dir="${common-solr.dir}/contrib/dataimporthandler" target="default" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<!--
|
||||
really sucks we do this always, without an up-to-date thing for tests
|
||||
we should probably fix this, the same issue exists in modules
|
||||
-->
|
||||
<target name="compile-solr-dataimporthandler-tests">
|
||||
<ant dir="${common-solr.dir}/contrib/dataimporthandler" target="compile-test" inheritAll="false"/>
|
||||
</target>
|
||||
|
||||
<path id="classpath">
|
||||
<pathelement location="${common-solr.dir}/build/contrib/solr-dataimporthandler/classes/java"/>
|
||||
<pathelement location="${common-solr.dir}/build/contrib/solr-dataimporthandler/classes/test"/>
|
||||
<fileset dir="${common-solr.dir}/contrib/dataimporthandler/lib" includes="**/*.jar"/>
|
||||
<fileset dir="${common-solr.dir}/contrib/extraction/lib" includes="**/*.jar"/>
|
||||
<path refid="solr.base.classpath"/>
|
||||
</path>
|
||||
|
||||
<target name="compile-core" depends="compile-solr-dataimporthandler, solr-contrib-build.compile-core"/>
|
||||
<target name="compile-test" depends="compile-solr-dataimporthandler-tests, contrib-build.compile-test"/>
|
||||
</project>
|
|
@ -17,295 +17,16 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
<project name="solr-dataimporthandler" default="build">
|
||||
|
||||
<property name="solr-path" value="../.." />
|
||||
<property name="tikalibs-path" value="../extraction/lib" />
|
||||
|
||||
<import file="../../common-build.xml"/>
|
||||
<project name="solr-dataimporthandler" default="default">
|
||||
|
||||
<description>
|
||||
Data Import Handler
|
||||
</description>
|
||||
<path id="classpath.jetty">
|
||||
<!-- jetty -->
|
||||
<fileset dir="${solr-path}/example/lib">
|
||||
<include name="**/*.jar" />
|
||||
</fileset>
|
||||
</path>
|
||||
<path id="common.classpath">
|
||||
<pathelement location="${solr-path}/build/solr" />
|
||||
<pathelement location="${solr-path}/build/solrj" />
|
||||
<fileset dir="${solr-path}/lib" includes="*.jar"/>
|
||||
<path refid="lucene.classpath"/>
|
||||
</path>
|
||||
|
||||
<path id="extras.classpath">
|
||||
<pathelement location="${solr-path}/build/solr" />
|
||||
<pathelement location="${solr-path}/build/solrj" />
|
||||
<pathelement location="target/classes" />
|
||||
<fileset dir="${solr-path}/lib" includes="*.jar"/>
|
||||
<fileset dir="lib/" includes="*.jar"/>
|
||||
<fileset dir="${tikalibs-path}" includes="*.jar"/>
|
||||
<path refid="lucene.classpath"/>
|
||||
</path>
|
||||
<property name="src.dir" location="src/main/java"/>
|
||||
<property name="tests.src.dir" location="src/test/java"/>
|
||||
<property name="tests.userdir" location="src/test/resources"/>
|
||||
|
||||
<path id="test.classpath">
|
||||
<path refid="common.classpath" />
|
||||
<path refid="classpath.jetty" />
|
||||
<pathelement path="target/classes" />
|
||||
<pathelement path="target/test-classes" />
|
||||
<pathelement location="${solr-path}/build/tests"/> <!-- include solr test code -->
|
||||
<pathelement location="${solr-path}/../lucene/build/classes/test-framework" /> <!-- include some lucene test code -->
|
||||
<pathelement path="${java.class.path}"/>
|
||||
</path>
|
||||
|
||||
<path id="test.extras.classpath">
|
||||
<path refid="extras.classpath" />
|
||||
<path refid="classpath.jetty" />
|
||||
<pathelement path="target/classes" />
|
||||
<pathelement path="target/extras/classes" />
|
||||
<pathelement path="target/test-classes" />
|
||||
<pathelement path="target/extras/test-classes" />
|
||||
<pathelement location="${solr-path}/build/tests"/> <!-- 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="target"/>
|
||||
<delete failonerror="false">
|
||||
<fileset dir="src/test/resources" includes="**/dataimport.properties" />
|
||||
</delete>
|
||||
<!-- Clean up examples -->
|
||||
<delete failonerror="false">
|
||||
<!-- we no longer copy things into this directory, but we still clean it up
|
||||
the files are still there from a previous checkout
|
||||
-->
|
||||
<fileset dir="${example}/example-DIH/solr/mail/lib" includes="*.jar" />
|
||||
</delete>
|
||||
</target>
|
||||
|
||||
<target name="init">
|
||||
<mkdir dir="target/classes"/>
|
||||
<mkdir dir="${build.javadoc}" />
|
||||
<subant target="compileTests">
|
||||
<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="target/classes"
|
||||
classpathref="common.classpath">
|
||||
<src path="src/main/java" />
|
||||
</solr-javac>
|
||||
</target>
|
||||
|
||||
<target name="compileExtras" depends="compile">
|
||||
<solr-javac destdir="target/extras/classes"
|
||||
classpathref="extras.classpath">
|
||||
<src path="src/extras/main/java" />
|
||||
</solr-javac>
|
||||
</target>
|
||||
|
||||
<target name="build" depends="compile,compileExtras">
|
||||
<solr-jar destfile="target/${fullnamever}.jar" basedir="target/classes"
|
||||
manifest="../../${dest}/META-INF/MANIFEST.MF" />
|
||||
<solr-jar destfile="target/apache-${ant.project.name}-extras-${version}.jar" basedir="target/extras/classes"
|
||||
manifest="../../${dest}/META-INF/MANIFEST.MF" />
|
||||
</target>
|
||||
|
||||
<target name="compileTests" depends="compile">
|
||||
<solr-javac destdir="target/test-classes"
|
||||
classpathref="test.classpath">
|
||||
<src path="src/test/java" />
|
||||
</solr-javac>
|
||||
<!-- Copy any data files present to the classpath -->
|
||||
<copy todir="target/test-classes">
|
||||
<fileset dir="src/test/resources" excludes="**/*.java"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="compileExtrasTests" depends="compileExtras">
|
||||
<solr-javac destdir="target/extras/test-classes"
|
||||
classpathref="test.classpath">
|
||||
<src path="src/extras/test/java" />
|
||||
</solr-javac>
|
||||
<!-- Copy any data files present to the classpath -->
|
||||
<copy todir="target/extras/test-classes">
|
||||
<fileset dir="src/extras/test/resources" excludes="**/*.java"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<property name="tempDir" value="${junit.output.dir}/temp" />
|
||||
<target name="test" depends="testCore,testExtras"/>
|
||||
|
||||
<target name="testCore" 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.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}"/>
|
||||
<jvmarg line="${args}"/>
|
||||
<formatter classname="${junit.details.formatter}" usefile="false" if="junit.details"/>
|
||||
<classpath refid="test.classpath"/>
|
||||
<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="testExtras" depends="compileExtrasTests">
|
||||
<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.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}"/>
|
||||
<jvmarg line="${args}"/>
|
||||
<formatter classname="${junit.details.formatter}" usefile="false" if="junit.details"/>
|
||||
<classpath refid="test.extras.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/extras/test/java" includes="${junit.includes}"/>
|
||||
</batchtest>
|
||||
<batchtest fork="yes" todir="${junit.output.dir}" if="testcase">
|
||||
<fileset dir="src/extras/test/java" includes="**/${testcase}.java"/>
|
||||
</batchtest>
|
||||
<batchtest fork="yes" todir="${junit.output.dir}" if="testpackage">
|
||||
<fileset dir="src/extras/test/java" includes="**/${testpackage}/**/Test*.java,**/${testpackage}/**/*Test.java"/>
|
||||
</batchtest>
|
||||
<batchtest fork="yes" todir="${junit.output.dir}" if="testpackageroot">
|
||||
<fileset dir="src/extras/test/java" includes="**/${testpackageroot}/Test*.java,**/${testpackageroot}/*Test.java"/>
|
||||
</batchtest>
|
||||
|
||||
|
||||
</junit>
|
||||
|
||||
<fail if="tests.failed">Tests failed!</fail>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="build">
|
||||
<copy todir="../../build/web">
|
||||
<fileset dir="src/main/webapp" includes="**" />
|
||||
</copy>
|
||||
<mkdir dir="../../build/web/WEB-INF/lib"/>
|
||||
<!--<copy file="target/${fullnamever}.jar" todir="${solr-path}/build/web/WEB-INF/lib"></copy>-->
|
||||
<copy file="target/${fullnamever}.jar" todir="${solr-path}/dist"></copy>
|
||||
<copy file="target/apache-${ant.project.name}-extras-${version}.jar" todir="${solr-path}/dist"></copy>
|
||||
</target>
|
||||
|
||||
<target name="javadoc">
|
||||
<sequential>
|
||||
<mkdir dir="${build.javadoc}/contrib-${name}"/>
|
||||
|
||||
<path id="javadoc.classpath">
|
||||
<path refid="common.classpath"/>
|
||||
<path refid="extras.classpath"/>
|
||||
</path>
|
||||
|
||||
<invoke-javadoc
|
||||
destdir="${build.javadoc}/contrib-${name}"
|
||||
title="${Name} ${version} contrib-${fullnamever} API">
|
||||
<sources>
|
||||
<packageset dir="src/main/java"/>
|
||||
<packageset dir="src/extras/main/java"/>
|
||||
</sources>
|
||||
</invoke-javadoc>
|
||||
</sequential>
|
||||
</target>
|
||||
|
||||
<target name="example" depends="build,dist">
|
||||
<!--
|
||||
this target use to copy libs, but that is no longer needed.
|
||||
now we just depend on dist to ensure the extra's jar exists.
|
||||
-->
|
||||
</target>
|
||||
<import file="../contrib-build.xml"/>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -17,177 +17,16 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
<project name="solr-cell" default="build">
|
||||
|
||||
<property name="solr-path" value="../.." />
|
||||
|
||||
<import file="../../common-build.xml"/>
|
||||
<project name="solr-cell" default="default">
|
||||
|
||||
<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/tests"/> <!-- 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="compileTests">
|
||||
<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.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}"/>
|
||||
<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>
|
||||
<property name="src.dir" location="src/main/java"/>
|
||||
<property name="tests.src.dir" location="src/test/java"/>
|
||||
<property name="tests.userdir" location="src/test/resources"/>
|
||||
|
||||
<import file="../contrib-build.xml"/>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -17,173 +17,16 @@
|
|||
limitations under the License.
|
||||
-->
|
||||
|
||||
<project name="solr-uima" default="build">
|
||||
|
||||
<property name="solr-path" value="../.." />
|
||||
|
||||
<import file="../../common-build.xml"/>
|
||||
<project name="solr-uima" default="default">
|
||||
|
||||
<description>
|
||||
Solr Integration with UIMA for extracting metadata from arbitrary (text) fields and enrich document with features extracted from UIMA types (language, sentences, concepts, named entities, etc.)
|
||||
</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"/>
|
||||
<pathelement location="${basedir}/src/main/resources" />
|
||||
</path>
|
||||
|
||||
<path id="test.classpath">
|
||||
<path refid="common.classpath" />
|
||||
<pathelement path="${dest}/classes" />
|
||||
<pathelement path="${dest}/test-classes" />
|
||||
<pathelement location="${solr-path}/build/tests"/> <!-- 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="compileTests">
|
||||
<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">
|
||||
<fileset dir="src/main/resources" />
|
||||
</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 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.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="jetty.insecurerandom" value="1"/>
|
||||
<sysproperty key="tempDir" file="${tempDir}"/>
|
||||
<sysproperty key="testmethod" value="${testmethod}"/>
|
||||
<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>
|
||||
<property name="src.dir" location="src/main/java"/>
|
||||
<property name="tests.src.dir" location="src/test/java"/>
|
||||
<property name="tests.userdir" location="src/test/resources"/>
|
||||
|
||||
<import file="../contrib-build.xml"/>
|
||||
|
||||
</project>
|
||||
|
|
|
@ -150,7 +150,7 @@ public abstract class BaseDistributedSearchTestCase extends SolrTestCaseJ4 {
|
|||
* (default is in test-files)
|
||||
*/
|
||||
public String getSolrHome() {
|
||||
return SolrTestCaseJ4.TEST_HOME;
|
||||
return SolrTestCaseJ4.TEST_HOME();
|
||||
}
|
||||
|
||||
@Override
|
|
@ -86,7 +86,7 @@ public abstract class SolrTestCaseJ4 extends LuceneTestCase {
|
|||
/** Call initCore in @BeforeClass to instantiate a solr core in your test class.
|
||||
* deleteCore will be called for you via SolrTestCaseJ4 @AfterClass */
|
||||
public static void initCore(String config, String schema) throws Exception {
|
||||
initCore(config, schema, TEST_HOME);
|
||||
initCore(config, schema, TEST_HOME());
|
||||
}
|
||||
|
||||
/** Call initCore in @BeforeClass to instantiate a solr core in your test class.
|
||||
|
@ -1057,22 +1057,8 @@ public abstract class SolrTestCaseJ4 extends LuceneTestCase {
|
|||
}
|
||||
}
|
||||
|
||||
private static final String SOURCE_HOME = determineSourceHome();
|
||||
public static String TEST_HOME = getFile("solr/conf").getParent();
|
||||
public static String WEBAPP_HOME = new File(SOURCE_HOME, "src/webapp/web").getAbsolutePath();
|
||||
public static String EXAMPLE_HOME = new File(SOURCE_HOME, "example/solr").getAbsolutePath();
|
||||
public static String EXAMPLE_MULTICORE_HOME = new File(SOURCE_HOME, "example/multicore").getAbsolutePath();
|
||||
public static String EXAMPLE_SCHEMA=EXAMPLE_HOME+"/conf/schema.xml";
|
||||
public static String EXAMPLE_CONFIG=EXAMPLE_HOME+"/conf/solrconfig.xml";
|
||||
|
||||
static String determineSourceHome() {
|
||||
// ugly, ugly hack to determine the example home without depending on the CWD
|
||||
// this is needed for example/multicore tests which reside outside the classpath
|
||||
File base = getFile("solr/conf/").getAbsoluteFile();
|
||||
while (!new File(base, "solr/CHANGES.txt").exists()) {
|
||||
base = base.getParentFile();
|
||||
}
|
||||
return new File(base, "solr/").getAbsolutePath();
|
||||
public static String TEST_HOME() {
|
||||
return getFile("solr/conf").getParent();
|
||||
}
|
||||
|
||||
public static Throwable getRootCause(Throwable t) {
|
|
@ -90,7 +90,7 @@ public abstract class AbstractSolrTestCase extends LuceneTestCase {
|
|||
* (default is in test-files)
|
||||
*/
|
||||
public String getSolrHome() {
|
||||
return SolrTestCaseJ4.TEST_HOME;
|
||||
return SolrTestCaseJ4.TEST_HOME();
|
||||
}
|
||||
|
||||
/**
|
|
@ -61,7 +61,7 @@ import java.util.Map;
|
|||
* writing testcases.
|
||||
*
|
||||
* <p>
|
||||
* This class lives in the main source tree (and not in the test source
|
||||
* This class lives in the tests-framework source tree (and not in the test source
|
||||
* tree), so that it will be included with even the most minimal solr
|
||||
* distribution, in order to encourage plugin writers to create unit
|
||||
* tests for their plugins.
|
|
@ -24,6 +24,7 @@ import org.apache.solr.client.solrj.request.UpdateRequest.ACTION;
|
|||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.core.CoreContainer;
|
||||
import org.apache.solr.core.SolrCore;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
|
||||
/**
|
||||
* Abstract base class for testing merge indexes command
|
||||
|
@ -37,7 +38,7 @@ public abstract class MergeIndexesExampleTestBase extends SolrExampleTestBase {
|
|||
|
||||
@Override
|
||||
public String getSolrHome() {
|
||||
return SolrJettyTestBase.EXAMPLE_MULTICORE_HOME;
|
||||
return ExternalPaths.EXAMPLE_MULTICORE_HOME;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.apache.solr.client.solrj.response.CoreAdminResponse;
|
|||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.core.CoreContainer;
|
||||
import org.apache.solr.core.SolrCore;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -36,7 +37,7 @@ public abstract class MultiCoreExampleTestBase extends SolrExampleTestBase
|
|||
// protected static final CoreContainer cores = new CoreContainer();
|
||||
protected static CoreContainer cores;
|
||||
|
||||
@Override public String getSolrHome() { return SolrJettyTestBase.EXAMPLE_MULTICORE_HOME; }
|
||||
@Override public String getSolrHome() { return ExternalPaths.EXAMPLE_MULTICORE_HOME; }
|
||||
|
||||
@Override public String getSchemaFile() { return getSolrHome()+"/core0/conf/schema.xml"; }
|
||||
@Override public String getSolrConfigFile() { return getSolrHome()+"/core0/conf/solrconfig.xml"; }
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.apache.solr.client.solrj.SolrServer;
|
|||
import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
|
||||
import org.apache.solr.client.solrj.impl.BinaryResponseParser;
|
||||
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
|
||||
|
@ -32,7 +33,7 @@ import org.junit.BeforeClass;
|
|||
public class SolrExampleBinaryTest extends SolrExampleTests {
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(EXAMPLE_HOME, null, null);
|
||||
createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.apache.solr.SolrTestCaseJ4;
|
|||
import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer;
|
||||
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
|
||||
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.AfterClass;
|
||||
|
||||
abstract public class SolrJettyTestBase extends SolrTestCaseJ4
|
||||
|
@ -32,7 +33,7 @@ abstract public class SolrJettyTestBase extends SolrTestCaseJ4
|
|||
// using configs in the test directory allows more flexibility to change "example"
|
||||
// without breaking configs.
|
||||
|
||||
public String getSolrHome() { return EXAMPLE_HOME; }
|
||||
public String getSolrHome() { return ExternalPaths.EXAMPLE_HOME; }
|
||||
|
||||
public static JettySolrRunner jetty;
|
||||
public static int port;
|
||||
|
|
|
@ -22,6 +22,7 @@ import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
|||
import org.apache.solr.client.solrj.request.RequestWriter;
|
||||
import org.apache.solr.client.solrj.response.QueryResponse;
|
||||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
|
@ -38,7 +39,7 @@ public class TestBatchUpdate extends SolrJettyTestBase {
|
|||
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(EXAMPLE_HOME, null, null);
|
||||
createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
|
||||
}
|
||||
|
||||
static final int numdocs = 1000;
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.apache.lucene.util.LuceneTestCase;
|
|||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.solr.SolrTestCaseJ4;
|
||||
import org.apache.solr.client.solrj.SolrJettyTestBase;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.mortbay.jetty.Connector;
|
||||
import org.mortbay.jetty.Server;
|
||||
import org.mortbay.jetty.bio.SocketConnector;
|
||||
|
@ -47,13 +48,13 @@ public class JettyWebappTest extends LuceneTestCase
|
|||
public void setUp() throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
System.setProperty("solr.solr.home", SolrJettyTestBase.EXAMPLE_HOME);
|
||||
System.setProperty("solr.solr.home", ExternalPaths.EXAMPLE_HOME);
|
||||
|
||||
File dataDir = new File(SolrTestCaseJ4.TEMP_DIR,
|
||||
getClass().getName() + "-" + System.currentTimeMillis());
|
||||
dataDir.mkdirs();
|
||||
System.setProperty("solr.data.dir", dataDir.getCanonicalPath());
|
||||
String path = SolrJettyTestBase.WEBAPP_HOME;
|
||||
String path = ExternalPaths.WEBAPP_HOME;
|
||||
|
||||
server = new Server(port);
|
||||
// insecure: only use for tests!!!!
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
package org.apache.solr.client.solrj.embedded;
|
||||
|
||||
import org.apache.solr.client.solrj.LargeVolumeTestBase;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
/**
|
||||
|
@ -26,6 +27,6 @@ import org.junit.BeforeClass;
|
|||
public class LargeVolumeBinaryJettyTest extends LargeVolumeTestBase {
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(EXAMPLE_HOME, null, null);
|
||||
createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,11 +18,12 @@
|
|||
package org.apache.solr.client.solrj.embedded;
|
||||
|
||||
import org.apache.solr.client.solrj.LargeVolumeTestBase;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
public class LargeVolumeEmbeddedTest extends LargeVolumeTestBase {
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
|
||||
initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,11 +18,12 @@
|
|||
package org.apache.solr.client.solrj.embedded;
|
||||
|
||||
import org.apache.solr.client.solrj.LargeVolumeTestBase;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
public class LargeVolumeJettyTest extends LargeVolumeTestBase {
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(EXAMPLE_HOME, null, null);
|
||||
createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
package org.apache.solr.client.solrj.embedded;
|
||||
|
||||
import org.apache.solr.client.solrj.SolrExampleTests;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
/**
|
||||
|
@ -30,6 +31,6 @@ public class SolrExampleEmbeddedTest extends SolrExampleTests {
|
|||
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
|
||||
initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.embedded;
|
|||
|
||||
import org.apache.solr.client.solrj.SolrExampleTests;
|
||||
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.Assert;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
@ -33,7 +34,7 @@ public class SolrExampleJettyTest extends SolrExampleTests {
|
|||
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(EXAMPLE_HOME, null, null);
|
||||
createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -21,6 +21,7 @@ import org.apache.solr.client.solrj.SolrExampleTests;
|
|||
import org.apache.solr.client.solrj.SolrServer;
|
||||
import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;
|
||||
import org.apache.solr.client.solrj.impl.StreamingUpdateSolrServer;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
|
||||
|
||||
|
@ -32,7 +33,7 @@ import org.junit.BeforeClass;
|
|||
public class SolrExampleStreamingTest extends SolrExampleTests {
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(EXAMPLE_HOME, null, null);
|
||||
createJetty(ExternalPaths.EXAMPLE_HOME, null, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -24,6 +24,7 @@ import org.apache.solr.client.solrj.SolrQuery;
|
|||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.client.solrj.request.QueryRequest;
|
||||
import org.apache.solr.client.solrj.response.TermsResponse.Term;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
@ -35,7 +36,7 @@ public class TermsResponseTest extends SolrJettyTestBase {
|
|||
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
|
||||
initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
|
||||
}
|
||||
|
||||
@Before
|
||||
|
|
|
@ -25,6 +25,7 @@ import org.apache.solr.client.solrj.response.SpellCheckResponse.Correction;
|
|||
import org.apache.solr.common.SolrInputDocument;
|
||||
import org.apache.solr.common.params.CommonParams;
|
||||
import org.apache.solr.common.params.SpellingParams;
|
||||
import org.apache.solr.util.ExternalPaths;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
|
@ -40,7 +41,7 @@ public class TestSpellCheckResponse extends SolrJettyTestBase {
|
|||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
// createJetty(EXAMPLE_HOME, null, null);
|
||||
initCore(EXAMPLE_CONFIG, EXAMPLE_SCHEMA, EXAMPLE_HOME);
|
||||
initCore(ExternalPaths.EXAMPLE_CONFIG, ExternalPaths.EXAMPLE_SCHEMA, ExternalPaths.EXAMPLE_HOME);
|
||||
// initCore("solrconfig.xml", "schema.xml", null);
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ public class BasicDistributedZkTest extends AbstractDistributedZkTestCase {
|
|||
|
||||
@BeforeClass
|
||||
public static void beforeClass() throws Exception {
|
||||
System.setProperty("solr.solr.home", SolrTestCaseJ4.TEST_HOME);
|
||||
System.setProperty("solr.solr.home", SolrTestCaseJ4.TEST_HOME());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -38,9 +38,9 @@ public class TestSystemIdResolver extends LuceneTestCase {
|
|||
}
|
||||
|
||||
public void testResolving() throws Exception {
|
||||
final ResourceLoader loader = new SolrResourceLoader(SolrTestCaseJ4.TEST_HOME, this.getClass().getClassLoader());
|
||||
final ResourceLoader loader = new SolrResourceLoader(SolrTestCaseJ4.TEST_HOME(), this.getClass().getClassLoader());
|
||||
final SystemIdResolver resolver = new SystemIdResolver(loader);
|
||||
final String fileUri = new File(SolrTestCaseJ4.TEST_HOME+"/crazy-path-to-config.xml").toURI().toASCIIString();
|
||||
final String fileUri = new File(SolrTestCaseJ4.TEST_HOME()+"/crazy-path-to-config.xml").toURI().toASCIIString();
|
||||
|
||||
assertEquals("solrres:/test.xml", SystemIdResolver.createSystemIdFromResourceName("test.xml"));
|
||||
assertEquals("solrres://@/usr/local/etc/test.xml", SystemIdResolver.createSystemIdFromResourceName("/usr/local/etc/test.xml"));
|
||||
|
@ -60,10 +60,10 @@ public class TestSystemIdResolver extends LuceneTestCase {
|
|||
assertEntityResolving(resolver, "solrres:/schema.xml", "solrres:/solrconfig.xml", "schema.xml");
|
||||
assertEntityResolving(resolver, "solrres:/org/apache/solr/common/util/TestSystemIdResolver.class",
|
||||
"solrres:/org/apache/solr/common/ResourceLoader.class", "util/TestSystemIdResolver.class");
|
||||
assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/conf/schema.xml"),
|
||||
SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/conf/solrconfig.xml"), "schema.xml");
|
||||
assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/crazy-path-to-schema.xml"),
|
||||
SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME+"/crazy-path-to-config.xml"), "crazy-path-to-schema.xml");
|
||||
assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/conf/schema.xml"),
|
||||
SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/conf/solrconfig.xml"), "schema.xml");
|
||||
assertEntityResolving(resolver, SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/crazy-path-to-schema.xml"),
|
||||
SystemIdResolver.createSystemIdFromResourceName(SolrTestCaseJ4.TEST_HOME()+"/crazy-path-to-config.xml"), "crazy-path-to-schema.xml");
|
||||
|
||||
// test, that resolving works if somebody uses an absolute file:-URI in a href attribute, the resolver should return null (default fallback)
|
||||
assertNull(resolver.resolveEntity(null, null, "solrres:/solrconfig.xml", fileUri));
|
||||
|
|
|
@ -31,7 +31,7 @@ import org.junit.Test;
|
|||
public class NoCacheHeaderTest extends CacheHeaderTestBase {
|
||||
@BeforeClass
|
||||
public static void beforeTest() throws Exception {
|
||||
createJetty(TEST_HOME, "solr/conf/solrconfig-nocache.xml", null);
|
||||
createJetty(TEST_HOME(), "solr/conf/solrconfig-nocache.xml", null);
|
||||
}
|
||||
|
||||
// The tests
|
||||
|
|
|
@ -49,7 +49,7 @@ public class PersistenceTest extends SolrTestCaseJ4 {
|
|||
for (String k : keys) {
|
||||
lookup.add(k, new Float(k.length()));
|
||||
}
|
||||
File storeDir = new File(TEST_HOME);
|
||||
File storeDir = new File(TEST_HOME());
|
||||
lookup.store(storeDir);
|
||||
lookup = new TSTLookup();
|
||||
lookup.load(storeDir);
|
||||
|
@ -66,7 +66,7 @@ public class PersistenceTest extends SolrTestCaseJ4 {
|
|||
for (String k : keys) {
|
||||
lookup.add(k, new Float(k.length()));
|
||||
}
|
||||
File storeDir = new File(TEST_HOME);
|
||||
File storeDir = new File(TEST_HOME());
|
||||
lookup.store(storeDir);
|
||||
lookup = new JaspellLookup();
|
||||
lookup.load(storeDir);
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
package org.apache.solr.util;
|
||||
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.solr.SolrTestCaseJ4;
|
||||
|
||||
/**
|
||||
* Some tests need to reach outside the classpath to get certain resources (e.g. the example configuration).
|
||||
* This class provides some paths to allow them to do this.
|
||||
* @lucene.internal
|
||||
*/
|
||||
public class ExternalPaths {
|
||||
private static final String SOURCE_HOME = determineSourceHome();
|
||||
public static String WEBAPP_HOME = new File(SOURCE_HOME, "src/webapp/web").getAbsolutePath();
|
||||
public static String EXAMPLE_HOME = new File(SOURCE_HOME, "example/solr").getAbsolutePath();
|
||||
public static String EXAMPLE_MULTICORE_HOME = new File(SOURCE_HOME, "example/multicore").getAbsolutePath();
|
||||
public static String EXAMPLE_SCHEMA=EXAMPLE_HOME+"/conf/schema.xml";
|
||||
public static String EXAMPLE_CONFIG=EXAMPLE_HOME+"/conf/solrconfig.xml";
|
||||
|
||||
static String determineSourceHome() {
|
||||
// ugly, ugly hack to determine the example home without depending on the CWD
|
||||
// this is needed for example/multicore tests which reside outside the classpath
|
||||
File base = SolrTestCaseJ4.getFile("solr/conf").getAbsoluteFile();
|
||||
while (!new File(base, "solr/CHANGES.txt").exists()) {
|
||||
base = base.getParentFile();
|
||||
}
|
||||
return new File(base, "solr/").getAbsolutePath();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue