mirror of https://github.com/apache/lucene.git
132 lines
5.8 KiB
XML
132 lines
5.8 KiB
XML
|
<?xml version="1.0"?>
|
||
|
<!--
|
||
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||
|
contributor license agreements. See the NOTICE file distributed with
|
||
|
this work for additional information regarding copyright ownership.
|
||
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
||
|
the "License"); you may not use this file except in compliance with
|
||
|
the License. You may obtain a copy of the License at
|
||
|
|
||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
||
|
Unless required by applicable law or agreed to in writing, software
|
||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
See the License for the specific language governing permissions and
|
||
|
limitations under the License.
|
||
|
-->
|
||
|
<project name="solr-core" default="default" xmlns:ivy="antlib:org.apache.ivy.ant">
|
||
|
<description>Solr Core</description>
|
||
|
|
||
|
<!-- html file for testing -->
|
||
|
<property name="rat.excludes" value="**/htmlStripReaderTest.html,**/*.iml"/>
|
||
|
|
||
|
<property name="test.lib.dir" location="test-lib"/>
|
||
|
|
||
|
<property name="forbidden-tests-excludes" value="
|
||
|
org/apache/solr/internal/**
|
||
|
org/apache/hadoop/**
|
||
|
"/>
|
||
|
|
||
|
<import file="../common-build.xml"/>
|
||
|
|
||
|
<target name="compile-core" depends="compile-solrj,common-solr.compile-core"/>
|
||
|
|
||
|
<target name="compile-test" depends="jar-analyzers-icu,-compile-test-lucene-queryparser,-compile-test-lucene-backward-codecs,-compile-analysis-extras,common-solr.compile-test"/>
|
||
|
|
||
|
<path id="test.classpath">
|
||
|
<path refid="solr.test.base.classpath"/>
|
||
|
<fileset dir="${test.lib.dir}" includes="*.jar"/>
|
||
|
<pathelement location="${analyzers-icu.jar}"/>
|
||
|
<pathelement location="${common-solr.dir}/build/contrib/solr-analysis-extras/classes/java"/>
|
||
|
<pathelement location="${common.dir}/build/queryparser/classes/test"/>
|
||
|
<pathelement location="${common.dir}/build/backward-codecs/classes/test"/>
|
||
|
<fileset dir="${common-solr.dir}/contrib/analysis-extras/lib" includes="icu4j*.jar"/>
|
||
|
</path>
|
||
|
|
||
|
<!-- specialized to ONLY depend on solrj -->
|
||
|
<target name="javadocs" depends="compile-core,define-lucene-javadoc-url,lucene-javadocs,javadocs-solrj,check-javadocs-uptodate" unless="javadocs-uptodate-${name}">
|
||
|
<sequential>
|
||
|
<mkdir dir="${javadoc.dir}/${name}"/>
|
||
|
<solr-invoke-javadoc>
|
||
|
<solrsources>
|
||
|
<packageset dir="${src.dir}"/>
|
||
|
</solrsources>
|
||
|
<links>
|
||
|
<link href="../solr-solrj"/>
|
||
|
</links>
|
||
|
</solr-invoke-javadoc>
|
||
|
<solr-jarify basedir="${javadoc.dir}/${name}" destfile="${build.dir}/${final.name}-javadoc.jar"/>
|
||
|
</sequential>
|
||
|
</target>
|
||
|
|
||
|
<target name="-dist-maven" depends="-dist-maven-src-java"/>
|
||
|
|
||
|
<target name="-install-to-maven-local-repo" depends="-install-src-java-to-maven-local-repo"/>
|
||
|
|
||
|
<target name="resolve" depends="ivy-availability-check,ivy-fail,ivy-configure">
|
||
|
<sequential>
|
||
|
<ivy:retrieve conf="compile,compile.hadoop" type="jar,bundle" sync="${ivy.sync}" log="download-only" symlink="${ivy.symlink}"/>
|
||
|
<ivy:retrieve conf="test,test.DfsMiniCluster,test.MiniKdc" type="jar,bundle,test" sync="${ivy.sync}" log="download-only" symlink="${ivy.symlink}"
|
||
|
pattern="${test.lib.dir}/[artifact]-[revision](-[classifier]).[ext]"/>
|
||
|
</sequential>
|
||
|
</target>
|
||
|
|
||
|
<target name="javacc" depends="javacc-QueryParser"/>
|
||
|
<target name="javacc-QueryParser" depends="resolve-javacc">
|
||
|
<sequential>
|
||
|
<invoke-javacc target="src/java/org/apache/solr/parser/QueryParser.jj"
|
||
|
outputDir="src/java/org/apache/solr/parser"/>
|
||
|
|
||
|
<!-- Change the incorrect public ctors for QueryParser to be protected instead -->
|
||
|
<replaceregexp file="src/java/org/apache/solr/parser/QueryParser.java"
|
||
|
byline="true"
|
||
|
match="public QueryParser\(CharStream "
|
||
|
replace="protected QueryParser(CharStream "/>
|
||
|
<replaceregexp file="src/java/org/apache/solr/parser/QueryParser.java"
|
||
|
byline="true"
|
||
|
match="public QueryParser\(QueryParserTokenManager "
|
||
|
replace="protected QueryParser(QueryParserTokenManager "/>
|
||
|
<!-- change an exception used for signaling to be static -->
|
||
|
<replaceregexp file="src/java/org/apache/solr/parser/QueryParser.java"
|
||
|
byline="true"
|
||
|
match="final private LookaheadSuccess jj_ls ="
|
||
|
replace="static final private LookaheadSuccess jj_ls =" />
|
||
|
<replace token="StringBuffer" value="StringBuilder" encoding="UTF-8">
|
||
|
<fileset dir="src/java/org/apache/solr/parser" includes="ParseException.java TokenMgrError.java"/>
|
||
|
</replace>
|
||
|
|
||
|
</sequential>
|
||
|
</target>
|
||
|
<target name="resolve-javacc" xmlns:ivy="antlib:org.apache.ivy.ant">
|
||
|
<!-- setup a "fake" JavaCC distribution folder in ${build.dir} to make JavaCC ANT task happy: -->
|
||
|
<ivy:retrieve organisation="net.java.dev.javacc" module="javacc" revision="5.0"
|
||
|
inline="true" transitive="false" type="jar" sync="true" symlink="${ivy.symlink}"
|
||
|
pattern="${build.dir}/javacc/bin/lib/[artifact].[ext]"/>
|
||
|
</target>
|
||
|
|
||
|
<macrodef name="invoke-javacc">
|
||
|
<attribute name="target"/>
|
||
|
<attribute name="outputDir"/>
|
||
|
<sequential>
|
||
|
<mkdir dir="@{outputDir}"/>
|
||
|
<delete>
|
||
|
<fileset dir="@{outputDir}" includes="*.java">
|
||
|
<containsregexp expression="Generated.*By.*JavaCC"/>
|
||
|
</fileset>
|
||
|
</delete>
|
||
|
<javacc
|
||
|
target="@{target}"
|
||
|
outputDirectory="@{outputDir}"
|
||
|
javacchome="${build.dir}/javacc"
|
||
|
jdkversion="1.${javac.release}"
|
||
|
/>
|
||
|
<fixcrlf srcdir="@{outputDir}" includes="*.java" encoding="UTF-8">
|
||
|
<containsregexp expression="Generated.*By.*JavaCC"/>
|
||
|
</fixcrlf>
|
||
|
</sequential>
|
||
|
</macrodef>
|
||
|
|
||
|
|
||
|
</project>
|