| <?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> |