mirror of https://github.com/apache/lucene.git
122 lines
5.1 KiB
XML
122 lines
5.1 KiB
XML
<?xml version="1.0"?>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
<project name="solr-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/**
|
|
"/>
|
|
|
|
<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-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"/>
|
|
<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="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 "/>
|
|
<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="${javac.source}"
|
|
/>
|
|
<fixcrlf srcdir="@{outputDir}" includes="*.java" encoding="UTF-8">
|
|
<containsregexp expression="Generated.*By.*JavaCC"/>
|
|
</fixcrlf>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
|
|
</project>
|