2008-06-24 00:49:25 -04:00
|
|
|
<!--
|
|
|
|
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.
|
|
|
|
-->
|
|
|
|
|
2011-04-01 02:58:12 -04:00
|
|
|
<project name="common-solr" default="default">
|
2008-06-24 00:49:25 -04:00
|
|
|
<description>
|
|
|
|
This file is designed for importing into a main build file, and not intended
|
|
|
|
for standalone use.
|
|
|
|
</description>
|
2008-08-04 01:56:10 -04:00
|
|
|
|
2010-03-19 09:01:40 -04:00
|
|
|
<dirname file="${ant.file.common-solr}" property="common-solr.dir"/>
|
2008-06-24 00:49:25 -04:00
|
|
|
|
|
|
|
<property name="Name" value="Solr" />
|
2011-04-01 02:58:12 -04:00
|
|
|
<property name="version" value="4.0-SNAPSHOT"/>
|
2011-12-03 16:52:04 -05:00
|
|
|
<condition property="version.contains.SNAPSHOT">
|
|
|
|
<contains casesensitive="true" string="${version}" substring="-SNAPSHOT"/>
|
|
|
|
</condition>
|
2011-07-08 02:41:23 -04:00
|
|
|
<property name="fullname" value="apache-${ant.project.name}"/>
|
|
|
|
<property name="fullnamever" value="${fullname}-${version}"/>
|
|
|
|
<property name="final.name" value="${fullnamever}"/>
|
|
|
|
|
2011-04-01 02:58:12 -04:00
|
|
|
<!-- solr uses 1.6 -->
|
|
|
|
<property name="javac.source" value="1.6"/>
|
|
|
|
<property name="javac.target" value="1.6"/>
|
2012-01-18 14:28:39 -05:00
|
|
|
<property name="javac.args" value=""/>
|
2011-07-08 02:41:23 -04:00
|
|
|
|
|
|
|
<property name="dest" value="${common-solr.dir}/build" />
|
|
|
|
<property name="build.dir" location="${dest}/${ant.project.name}"/>
|
|
|
|
<property name="dist" location="${common-solr.dir}/dist"/>
|
|
|
|
<property name="package.dir" location="${common-solr.dir}/package"/>
|
|
|
|
<property name="maven.dist.dir" location="${package.dir}/maven"/>
|
|
|
|
<property name="lucene-libs" location="${dest}/lucene-libs" />
|
|
|
|
<property name="tests.userdir" value="src/test-files"/>
|
|
|
|
<property name="example" value="${common-solr.dir}/example" />
|
|
|
|
<property name="javadoc.dir" location="${build.dir}/docs/api"/>
|
|
|
|
<property name="tests.loggingfile" value="${common-solr.dir}/testlogging.properties"/>
|
2011-07-09 19:01:53 -04:00
|
|
|
<property name="tests.cleanthreads.sysprop" value="perClass"/>
|
2010-08-24 09:20:15 -04:00
|
|
|
|
2012-02-26 03:40:07 -05:00
|
|
|
<property name="clover.db.dir" location="${dest}/test/clover/db"/>
|
|
|
|
<property name="clover.report.dir" location="${dest}/test/clover/reports"/>
|
2011-07-10 08:20:06 -04:00
|
|
|
<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>
|
|
|
|
|
2011-04-01 02:58:12 -04:00
|
|
|
<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>
|
2008-08-29 14:18:16 -04:00
|
|
|
|
2011-04-01 02:58:12 -04:00
|
|
|
<pathconvert property="project.classpath" targetos="unix" refid="additional.dependencies"/>
|
2008-06-24 00:49:25 -04:00
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<import file="${common-solr.dir}/../lucene/contrib/contrib-build.xml"/>
|
2010-12-26 22:13:14 -05:00
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<!-- Solr Specification Version
|
2008-06-24 00:49:25 -04:00
|
|
|
|
|
|
|
This will be used in the Manifest file, and therefore must
|
|
|
|
match the pattern "digit+{.digit+}*"
|
2008-08-13 06:08:04 -04:00
|
|
|
|
2008-06-24 00:49:25 -04:00
|
|
|
By default, this should be set to "X.Y.M.${dateversion}"
|
|
|
|
where X.Y.M is the last version released (on this branch).
|
|
|
|
-->
|
2011-07-08 02:41:23 -04:00
|
|
|
<property name="solr.spec.version" value="4.0.0.${dateversion}" />
|
2011-04-01 02:58:12 -04:00
|
|
|
|
|
|
|
<path id="solr.base.classpath">
|
|
|
|
<pathelement path="${analyzers-common.jar}"/>
|
2012-02-01 08:01:44 -05:00
|
|
|
<pathelement path="${analyzers-kuromoji.jar}"/>
|
2011-04-01 02:58:12 -04:00
|
|
|
<pathelement path="${analyzers-phonetic.jar}"/>
|
2012-03-01 05:32:15 -05:00
|
|
|
<pathelement path="${analyzers-uima.jar}"/>
|
2011-04-01 02:58:12 -04:00
|
|
|
<pathelement path="${highlighter.jar}"/>
|
|
|
|
<pathelement path="${memory.jar}"/>
|
|
|
|
<pathelement path="${misc.jar}"/>
|
|
|
|
<pathelement path="${spatial.jar}"/>
|
2011-05-30 10:51:25 -04:00
|
|
|
<pathelement path="${suggest.jar}"/>
|
2011-06-18 01:16:57 -04:00
|
|
|
<pathelement path="${grouping.jar}"/>
|
2011-06-28 15:42:31 -04:00
|
|
|
<pathelement path="${queries.jar}"/>
|
2011-07-10 23:37:00 -04:00
|
|
|
<pathelement path="${queryparser.jar}"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
<pathelement location="${common-solr.dir}/build/solr-solrj/classes/java"/>
|
|
|
|
<pathelement location="${common-solr.dir}/build/solr-core/classes/java"/>
|
|
|
|
<path refid="base.classpath"/>
|
2011-04-01 02:58:12 -04:00
|
|
|
</path>
|
2008-06-24 00:49:25 -04:00
|
|
|
|
2011-04-01 02:58:12 -04:00
|
|
|
<path id="classpath" refid="solr.base.classpath"/>
|
2008-06-24 00:49:25 -04:00
|
|
|
|
2011-04-01 02:58:12 -04:00
|
|
|
<path id="solr.test.base.classpath">
|
2011-07-08 02:41:23 -04:00
|
|
|
<pathelement path="${common-solr.dir}/build/solr-test-framework/classes/java"/>
|
2012-03-26 16:53:33 -04:00
|
|
|
<pathelement path="${build.dir}/test-files"/>
|
2011-04-01 02:58:12 -04:00
|
|
|
<path refid="test.base.classpath"/>
|
|
|
|
</path>
|
|
|
|
|
|
|
|
<path id="test.classpath" refid="solr.test.base.classpath"/>
|
|
|
|
|
|
|
|
<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 -->
|
2011-07-14 17:02:51 -04:00
|
|
|
<attribute name="jarfile" default="${common-solr.dir}/build/contrib/solr-@{name}/apache-solr-@{name}-${version}.jar"/>
|
|
|
|
<sequential>
|
2011-04-01 02:58:12 -04:00
|
|
|
<!--<echo message="Checking '@{jarfile}' against source folder '${common.dir}/contrib/@{name}/src/java'"/>-->
|
|
|
|
<property name="@{classpath.property}" location="@{jarfile}"/>
|
|
|
|
<uptodate property="@{property}" targetfile="@{jarfile}">
|
2011-06-01 18:37:09 -04:00
|
|
|
<srcfiles dir="${common-solr.dir}/contrib/@{name}/src/java" includes="**/*.java"/>
|
2011-04-01 02:58:12 -04:00
|
|
|
</uptodate>
|
2008-09-19 11:07:17 -04:00
|
|
|
</sequential>
|
|
|
|
</macrodef>
|
2008-08-13 06:08:04 -04:00
|
|
|
|
2012-02-13 09:12:59 -05:00
|
|
|
<target name="validate" depends="compile-tools">
|
2011-03-18 14:40:02 -04:00
|
|
|
</target>
|
2011-07-08 02:41:23 -04:00
|
|
|
|
|
|
|
<target name="init-dist" >
|
|
|
|
<mkdir dir="${build.dir}"/>
|
|
|
|
<mkdir dir="${package.dir}"/>
|
|
|
|
<mkdir dir="${dist}"/>
|
|
|
|
<mkdir dir="${maven.dist.dir}"/>
|
2011-05-30 20:08:14 -04:00
|
|
|
</target>
|
|
|
|
|
2011-07-28 00:02:09 -04:00
|
|
|
<target name="prep-lucene-jars"
|
2012-02-01 08:01:44 -05:00
|
|
|
depends="jar-lucene-core, jar-analyzers-phonetic, jar-analyzers-kuromoji, jar-suggest, jar-highlighter, jar-memory,
|
2011-08-20 00:57:58 -04:00
|
|
|
jar-misc, jar-spatial, jar-grouping, jar-queries, jar-queryparser">
|
2011-07-28 00:02:09 -04:00
|
|
|
<property name="solr.deps.compiled" value="true"/>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="lucene-jars-to-solr" depends="prep-lucene-jars">
|
|
|
|
<!-- TODO: clean this up -->
|
|
|
|
<sequential>
|
2011-07-08 02:41:23 -04:00
|
|
|
<ant dir="${common.dir}" target="default" inheritall="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
<copy todir="${lucene-libs}" preservelastmodified="true" flatten="true" failonerror="true" overwrite="true">
|
2011-07-28 00:02:09 -04:00
|
|
|
<fileset file="${lucene-core.jar}" />
|
2011-07-08 02:41:23 -04:00
|
|
|
<fileset file="${analyzers-common.jar}" />
|
2012-02-01 08:01:44 -05:00
|
|
|
<fileset file="${analyzers-kuromoji.jar}" />
|
2011-07-08 02:41:23 -04:00
|
|
|
<fileset file="${analyzers-phonetic.jar}" />
|
|
|
|
<fileset file="${suggest.jar}" />
|
|
|
|
<fileset file="${grouping.jar}" />
|
|
|
|
<fileset file="${queries.jar}" />
|
2011-07-10 23:37:00 -04:00
|
|
|
<fileset file="${queryparser.jar}" />
|
2011-07-08 02:41:23 -04:00
|
|
|
<fileset file="${highlighter.jar}" />
|
|
|
|
<fileset file="${memory.jar}" />
|
|
|
|
<fileset file="${misc.jar}" />
|
|
|
|
<fileset file="${spatial.jar}" />
|
|
|
|
</copy>
|
2011-07-28 00:02:09 -04:00
|
|
|
</sequential>
|
2011-07-08 02:41:23 -04:00
|
|
|
</target>
|
|
|
|
|
|
|
|
<!-- Shared core/solrj/test-framework/contrib targets -->
|
2012-02-15 10:30:53 -05:00
|
|
|
|
|
|
|
<macrodef name="solr-jarify" description="Builds a Solr JAR file">
|
|
|
|
<attribute name="basedir" default="${build.dir}/classes/java"/>
|
|
|
|
<attribute name="destfile" default="${build.dir}/${final.name}.jar"/>
|
|
|
|
<attribute name="title" default="Apache Solr Search Server: ${ant.project.name}"/>
|
|
|
|
<attribute name="excludes" default="**/pom.xml,**/*.iml"/>
|
|
|
|
<attribute name="metainf.source.dir" default="${common-solr.dir}"/>
|
|
|
|
<attribute name="implementation.title" default="org.apache.solr"/>
|
|
|
|
<attribute name="spec.version" default="${solr.spec.version}"/>
|
|
|
|
<attribute name="manifest.file" default="${manifest.file}"/>
|
|
|
|
<element name="nested" optional="true" implicit="true"/>
|
|
|
|
<sequential>
|
|
|
|
<jarify basedir="@{basedir}" destfile="@{destfile}"
|
|
|
|
title="@{title}" excludes="@{excludes}"
|
|
|
|
metainf.source.dir="@{metainf.source.dir}"
|
|
|
|
implementation.title="@{implementation.title}"
|
|
|
|
spec.version="@{spec.version}"
|
|
|
|
manifest.file="@{manifest.file}">
|
|
|
|
<nested/>
|
|
|
|
</jarify>
|
|
|
|
</sequential>
|
|
|
|
</macrodef>
|
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<target name="jar-core" depends="compile-core">
|
2012-02-15 10:30:53 -05:00
|
|
|
<solr-jarify/>
|
2011-07-08 02:41:23 -04:00
|
|
|
</target>
|
|
|
|
|
2011-07-28 00:02:09 -04:00
|
|
|
<target name="compile-core" depends="prep-lucene-jars,common.compile-core"/>
|
2012-03-26 16:53:33 -04:00
|
|
|
<target name="compile-test" depends="sync-resources,compile-solr-test-framework,common.compile-test"/>
|
2011-07-28 00:02:09 -04:00
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<target name="dist" depends="jar-core">
|
|
|
|
<copy file="${build.dir}/${fullnamever}.jar" todir="${dist}"/>
|
2011-05-30 20:08:14 -04:00
|
|
|
</target>
|
|
|
|
|
2011-12-03 16:52:04 -05:00
|
|
|
<target name="lucene-javadocs-all">
|
|
|
|
<ant dir="${common.dir}" target="javadocs-all" inheritall="false"/>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="javadocs" depends="compile-core,lucene-javadocs-all,define-lucene-javadoc-url">
|
2011-07-08 02:41:23 -04:00
|
|
|
<sequential>
|
|
|
|
<mkdir dir="${javadoc.dir}"/>
|
2011-07-28 15:33:56 -04:00
|
|
|
<mkdir dir="${dest}/META-INF/"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
<invoke-javadoc destdir="${javadoc.dir}"
|
|
|
|
title="${Name} ${version} ${name} API">
|
|
|
|
<sources>
|
2011-12-03 16:52:04 -05:00
|
|
|
<link offline="true" href="${lucene.javadoc.url}"
|
|
|
|
packagelistloc="${common.dir}/build/docs/api/all/"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
<link href=""/>
|
|
|
|
<packageset dir="${src.dir}"/>
|
|
|
|
</sources>
|
|
|
|
</invoke-javadoc>
|
2012-02-15 10:30:53 -05:00
|
|
|
<solr-jarify basedir="${javadoc.dir}" destfile="${build.dir}/${final.name}-javadoc.jar"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
</sequential>
|
|
|
|
</target>
|
2011-05-30 20:08:14 -04:00
|
|
|
|
2011-12-03 16:52:04 -05:00
|
|
|
<target name="define-lucene-javadoc-url"
|
|
|
|
depends="define-lucene-javadoc-url-SNAPSHOT,define-lucene-javadoc-url-release"/>
|
|
|
|
|
|
|
|
<target name="define-lucene-javadoc-url-SNAPSHOT" if="version.contains.SNAPSHOT">
|
|
|
|
<property name="lucene.javadoc.url"
|
|
|
|
value="https://builds.apache.org/job/Lucene-3.x/javadoc/all/"/>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<target name="define-lucene-javadoc-url-release" unless="version.contains.SNAPSHOT">
|
|
|
|
<loadproperties>
|
|
|
|
<propertyresource name="version"/>
|
|
|
|
<filterchain>
|
|
|
|
<replaceregex pattern="[.]" replace="_" flags="g"/>
|
|
|
|
<prefixlines prefix="underscore.version="/>
|
|
|
|
</filterchain>
|
|
|
|
</loadproperties>
|
|
|
|
<property name="lucene.javadoc.url"
|
|
|
|
value="http://lucene.apache.org/java/${underscore.version}/api/all/"/>
|
|
|
|
</target>
|
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<target name="jar-src" depends="init">
|
2012-02-15 10:30:53 -05:00
|
|
|
<solr-jarify basedir="${src.dir}" destfile="${build.dir}/${final.name}-src.jar"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
</target>
|
|
|
|
|
|
|
|
<!-- Solr core targets -->
|
|
|
|
<target name="compile-solr-core" description="Compile Solr core." unless="solr.core.compiled">
|
|
|
|
<ant dir="${common-solr.dir}/core" target="compile-core" inheritAll="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
<property name="solr.core.compiled" value="true"/>
|
|
|
|
</target>
|
|
|
|
<target name="compile-test-solr-core" description="Compile solr core tests">
|
|
|
|
<ant dir="${common-solr.dir}/core" target="compile-test" inheritAll="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
<property name="solr.core.compiled" value="true"/>
|
|
|
|
</target>
|
|
|
|
<target name="dist-core" depends="init-dist"
|
|
|
|
description="Creates the Solr JAR Distribution file.">
|
|
|
|
<ant dir="${common-solr.dir}/core" target="dist" inheritall="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<!-- Solrj targets -->
|
|
|
|
<target name="compile-solrj" description="Compile the java client." unless="solrj.compiled">
|
|
|
|
<ant dir="${common-solr.dir}/solrj" target="compile-core" inheritAll="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
<property name="solrj.compiled" value="true"/>
|
|
|
|
</target>
|
|
|
|
<target name="compile-test-solrj" description="Compile java client tests">
|
|
|
|
<ant dir="${common-solr.dir}/solrj" target="compile-test" inheritAll="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
<property name="solrj.compiled" value="true"/>
|
|
|
|
</target>
|
|
|
|
<target name="dist-solrj" depends="init-dist"
|
|
|
|
description="Creates the Solr-J JAR Distribution file.">
|
|
|
|
<ant dir="${common-solr.dir}/solrj" target="dist" inheritall="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
|
|
|
</target>
|
|
|
|
|
2012-03-26 16:59:42 -04:00
|
|
|
<!-- TODO: really a copy should work: but sync is currently safer
|
|
|
|
since some buggy tests don't create their own tempdir but
|
|
|
|
modify this target directory directly... -->
|
2012-03-26 16:53:33 -04:00
|
|
|
<target name="sync-resources">
|
2012-03-26 16:59:42 -04:00
|
|
|
<sync todir="${build.dir}/test-files">
|
2012-03-26 16:53:33 -04:00
|
|
|
<fileset dir="${tests.userdir}"/>
|
2012-03-26 16:59:42 -04:00
|
|
|
</sync>
|
2012-03-26 16:53:33 -04:00
|
|
|
</target>
|
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<!-- Solr test-framework targets -->
|
|
|
|
<target name="compile-solr-test-framework" description="Compile the Solr test-framework" unless="solr.test.framework.compiled">
|
|
|
|
<ant dir="${common-solr.dir}/test-framework" target="compile-core" inheritAll="false">
|
|
|
|
<propertyset refid="uptodate.and.compiled.properties"/>
|
|
|
|
</ant>
|
2011-07-28 00:02:09 -04:00
|
|
|
<property name="solr.core.compiled" value="true"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
<property name="solr.test.framework.compiled" value="true"/>
|
|
|
|
</target>
|
|
|
|
|
|
|
|
<!-- Solr contrib targets -->
|
2011-07-28 00:02:09 -04:00
|
|
|
<target name="compile-contrib" description="Compile contrib modules">
|
|
|
|
<contrib-crawl target="compile-core"/>
|
2011-07-08 02:41:23 -04:00
|
|
|
</target>
|
2011-07-28 09:15:59 -04:00
|
|
|
<target name="compile-test-contrib" description="Compile contrib modules' tests">
|
|
|
|
<contrib-crawl target="compile-test"/>
|
|
|
|
</target>
|
2011-07-28 00:02:09 -04:00
|
|
|
|
2011-07-08 02:41:23 -04:00
|
|
|
<target name="contribs-add-to-war">
|
|
|
|
<mkdir dir="${dest}/web"/>
|
|
|
|
<delete dir="${dest}/web" includes="**/*" failonerror="false"/>
|
|
|
|
<contrib-crawl target="add-to-war"/>
|
|
|
|
</target>
|
2008-08-28 16:17:07 -04:00
|
|
|
</project>
|