<?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" default="usage" 
         xmlns:jacoco="antlib:org.jacoco.ant"
         xmlns:ivy="antlib:org.apache.ivy.ant">

  <description>Solr</description>
  
  <target name="usage" description="Prints out instructions">
    <echo message="Welcome to the Solr project!" />
    <echo message="Use 'ant server' to create the Solr server." />
    <echo message="Use 'bin/solr' to run the Solr after it is created." />
    <echo message="And for developers:"/>
    <echo message="Use 'ant clean' to clean compiled files." />
    <echo message="Use 'ant compile' to compile the source code." />
    <echo message="Use 'ant dist' to build the project JAR files." />
    <echo message="Use 'ant documentation' to build documentation." />
    <echo message="Use 'ant generate-maven-artifacts' to generate maven artifacts." />
    <echo message="Use 'ant package' to generate zip, tgz for distribution." />
    <echo message="Use 'ant test' to run unit tests." />
  </target>

  <import file="common-build.xml"/>
  
  <!-- ========================================================================= -->
  <!-- ============================== USER TASKS =============================== -->
  <!-- ========================================================================= -->

  <target name="server" depends="dist-contrib"
          description="Creates a Solr server">
    <ant dir="webapp" target="dist" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <jar destfile="${example}/exampledocs/post.jar">
      <fileset dir="${dest}/solr-core/classes/java">
        <include name="org/apache/solr/util/SimplePostTool*.class"/>
        <include name="org/apache/solr/util/RTimer.class"/>
        <include name="org/apache/solr/util/RTimer$*.class"/>
      </fileset>
      <manifest>
        <attribute name="Main-Class" value="org.apache.solr.util.SimplePostTool"/>
      </manifest>
    </jar>
    <echo>See ${common-solr.dir}/README.txt for how to run the Solr server.</echo>
  </target>
  
  <target name="run-example" depends="server"
          description="Run Solr interactively, via Jetty.  -Dexample.debug=true to enable JVM debugger">
    <property name="example.solr.home" location="${server.dir}/solr"/>
    <property name="example.debug.suspend" value="n"/>
    <property name="example.jetty.port" value="8983"/>
    <condition property="example.jvm.line" value="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=${example.debug.suspend},address=5005">
      <isset property="example.debug"/>
    </condition>
    <property name="example.jvm.line" value=""/>
    <property name="example.heap.size" value="512M"/>
    <java jar="${server.dir}/start.jar" fork="true" dir="${server.dir}" maxmemory="${example.heap.size}">
      <jvmarg line="${example.jvm.line}"/>
      <arg value="--module=http"/>
      <sysproperty key="solr.solr.home" file="${example.solr.home}"/>
      <sysproperty key="jetty.port" value="${example.jetty.port}"/>
      <sysproperty key="jetty.home" value="${server.dir}"/>
    </java>
  </target>
 
  <!-- 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>

  <!-- ========================================================================= -->
  <!-- ========================== BUILD/TEST TASKS ============================= -->
  <!-- ========================================================================= -->

  <!-- solr/test-framework is excluded from compilation -->
  <target name="compile" description="Compile the source code."
          depends="compile-core, compile-contrib"/>

  <target name="test" description="Validate, then run core, solrj, and contrib unit tests."
          depends="-init-totals, test-core, test-contrib, -check-totals"/>
  <target name="test-nocompile">
    <fail message="Target 'test-nocompile' will not run recursively.  First change directory to the module you want to test."/>
  </target>

  <target name="jacoco" description="Generates JaCoCo code coverage reports." depends="-jacoco-install">
    <!-- run jacoco for each module -->
    <ant dir="${common-solr.dir}/core" target="jacoco" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <ant dir="solrj" target="jacoco" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <contrib-crawl target="jacoco" failonerror="false"/>

    <!-- produce aggregate report -->
    <property name="jacoco.output.dir" location="${jacoco.report.dir}/solr-all"/>
    <!-- try to clean output dir to prevent any confusion -->
    <delete dir="${jacoco.output.dir}" failonerror="false"/>
    <mkdir dir="${jacoco.output.dir}"/>

    <jacoco:report>
      <executiondata>
        <fileset dir="${common-solr.dir}/build" includes="**/jacoco.db"/>
      </executiondata>
      <structure name="${Name} aggregate JaCoCo coverage report">
        <classfiles>
          <fileset dir="${common-solr.dir}/build">
             <include name="**/classes/java/**/*.class"/>
             <exclude name="solr-test-framework/**"/>
          </fileset>
        </classfiles>
        <!-- TODO: trying to specify source files could maybe work, but would
             double the size of the reports -->
      </structure>
      <html destdir="${jacoco.output.dir}" footer="Copyright ${year} Apache Software Foundation.  All Rights Reserved."/>
    </jacoco:report>
  </target>

  <!-- "-clover.load" is *not* a useless dependency. do not remove -->
  <target name="test-core" description="Runs the core and solrj unit tests."
          depends="-clover.load, test-solr-core, test-solrj"/>
  <target name="pitest" description="Validate, then run core, solrj, and contrib unit tests."
          depends="pitest-core, pitest-contrib"/>
  <target name="beast">
    <fail message="The Beast only works inside of individual modules"/>
  </target>
  <target name="compile-test" description="Compile core, solrj, and contrib unit tests, and solr-test-framework."
          depends="compile-solr-test-framework, compile-test-solr-core, compile-test-solrj, compile-test-contrib"/>
  <target name="javadocs" description="Calls javadocs-all, javadocs-solrj, and javadocs-test-framework"
          depends="define-lucene-javadoc-url,javadocs-solr-core,javadocs-solrj,javadocs-test-framework,javadocs-contrib"/>
  <target name="documentation" description="Generate all documentation"
          depends="javadocs,changes-to-html,process-webpages">
    <ant dir="solr-ref-guide" target="bare-bones-html-validation" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
      <property name="local.javadocs" value="true" />
    </ant>
  </target>
  <target name="compile-core" depends="compile-solr-core" unless="solr.core.compiled"/>

  <target name="documentation-online" description="Generate a link to the online documentation"
      depends="define-solr-javadoc-url">
    <xslt in="${ant.file}" out="${javadoc-online.dir}/index.html" style="site/online-link.xsl" force="true">
      <outputproperty name="method" value="html"/>
      <outputproperty name="version" value="4.0"/>
      <outputproperty name="encoding" value="UTF-8"/>
      <outputproperty name="indent" value="yes"/>
      <param name="version" expression="${version}"/>
      <param name="solrJavadocUrl" expression="${solr.javadoc.url}"/>
    </xslt>
    <copy todir="${javadoc-online.dir}">
      <fileset dir="site/assets" includes="**/solr.svg"/>
    </copy>
  </target>

  <target name="process-webpages" depends="define-lucene-javadoc-url,resolve-markdown">
    <makeurl property="process-webpages.buildfiles" separator="|">
      <fileset dir="." includes="core/build.xml,test-framework/build.xml,solrj/build.xml,contrib/**/build.xml"/>
    </makeurl>

    <loadresource property="doc-solr-guide-version-path">
      <propertyresource name="version"/>
      <filterchain>
        <tokenfilter>
          <filetokenizer/>
          <replaceregex pattern="^(\d+)\.(\d+).*" replace="\1_\2"/>
        </tokenfilter>
      </filterchain>
    </loadresource>
    <!--
      The XSL input file is ignored completely, but XSL expects one to be given,
      so we pass ourself (${ant.file}) here. The list of module build.xmls is given
      via string parameter, that must be splitted by the XSL at '|'.
    --> 
    <xslt in="${ant.file}" out="${javadoc.dir}/index.html" style="site/index.xsl" force="true">
      <outputproperty name="method" value="html"/>
      <outputproperty name="version" value="4.0"/>
      <outputproperty name="encoding" value="UTF-8"/>
      <outputproperty name="indent" value="yes"/>
      <param name="buildfiles" expression="${process-webpages.buildfiles}"/>
      <param name="version" expression="${version}"/>
      <param name="luceneJavadocUrl" expression="${lucene.javadoc.url}"/>
      <param name="solrGuideVersion" expression="${doc-solr-guide-version-path}"/>
    </xslt>
    
    <markdown todir="${javadoc.dir}">
      <fileset dir="site" includes="**/*.mdtext"/>
      <globmapper from="*.mdtext" to="*.html"/>
    </markdown>

    <copy todir="${javadoc.dir}">
      <fileset dir="site/assets" />
    </copy>
  </target>

  <target name="jar" depends="jar-core,jar-solrj,jar-solr-test-framework,jar-contrib"
          description="Jar solr core, solrj, solr-test-framework, and all contribs"/>

  <target name="jar-src" 
          description="Create source jars for solr core, solrj, solr-test-framework, and all contribs">
    <ant dir="core" target="jar-src" inheritAll="false"/>
    <ant dir="solrj" target="jar-src" inheritAll="false"/>
    <ant dir="test-framework" target="jar-src" inheritAll="false"/>
    <contrib-crawl target="jar-src"/>
  </target>

  <!-- Solr core targets -->
  <target name="test-solr-core" description="Test solr core">
    <ant dir="core" target="test" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>

  <target name="jar-core">
    <ant dir="${common-solr.dir}/core" target="jar-core" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>
  
  <!-- Solrj targets -->
  <target name="test-solrj" description="Test java client">
    <ant dir="solrj" target="test" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>

  <!-- Solr contrib targets -->
  <target name="test-contrib" description="Run contrib unit tests.">
    <contrib-crawl target="test"/>
  </target>

  <!-- Pitest targets -->
  <target name="pitest-core" description="PiTest solr core">
    <ant dir="core" target="pitest" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>

  <target name="pitest-solrj" description="PiTest java client">
    <ant dir="solrj" target="pitest" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>

  <target name="pitest-contrib" description="Run contrib PiTests.">
    <contrib-crawl target="pitest" failonerror="false"/>
  </target>
  
  <!-- test-framework targets -->
  <target name="javadocs-test-framework">
    <ant dir="test-framework" target="javadocs" inheritAll="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>
    
  <!-- Validation (license/notice/api checks). -->
  <target name="validate" depends="check-example-lucene-match-version,check-licenses,rat-sources,check-forbidden-apis" description="Validate stuff." />

  <target name="check-example-lucene-match-version">
    <property name="configsets.dir" value="${server.dir}/solr/configsets"/>
    <!-- validates all configset solrconfig files-->
    <fail message="Some example solrconfig.xml files under ${configsets.dir} do not refer to the correct luceneMatchVersion: ${tests.luceneMatchVersion}">
      <condition>
        <resourcecount when="greater" count="0">
          <fileset dir="${configsets.dir}" includes="**/solrconfig.xml">
            <not>
              <contains text="&lt;luceneMatchVersion&gt;${tests.luceneMatchVersion}&lt;" casesensitive="no"/>
            </not>
          </fileset>
        </resourcecount>
      </condition>
    </fail>
    <!-- validates remaining example solrconfig files-->
    <fail message="Some example solrconfig.xml files under ${example} do not refer to the correct luceneMatchVersion: ${tests.luceneMatchVersion}">
      <condition>
        <resourcecount when="greater" count="0">
          <fileset dir="${example}" includes="**/solrconfig.xml">
            <not>
              <contains text="&lt;luceneMatchVersion&gt;${tests.luceneMatchVersion}&lt;" casesensitive="no"/>
            </not>
          </fileset>
        </resourcecount>
      </condition>
    </fail>
    <!-- Count the immediate sub-directories of the configsets dir to ensure all sub-dirs have a solrconfig.xml -->
    <resourcecount property="count.subdirs">
      <dirset dir="${configsets.dir}" includes="*"/>
    </resourcecount>
    <!-- Ensure there is at least one sub-directory -->
    <fail message="No sub-directories found under ${configsets.dir}">
      <condition>
        <equals arg1="${count.subdirs}" arg2="0"/>
      </condition>
    </fail>
    <fail message="At least one sub-directory under ${configsets.dir} does not have a solrconfig.xml file">
      <condition>
        <resourcecount when="ne" count="${count.subdirs}">
          <fileset dir="${configsets.dir}" includes="**/solrconfig.xml"/>
        </resourcecount>
      </condition>
    </fail>
  </target>

  <target name="check-licenses" depends="compile-tools,resolve,load-custom-tasks" description="Validate license stuff.">
    <property name="skipRegexChecksum" value=""/>
    <license-check-macro dir="${basedir}" licensedir="${common-solr.dir}/licenses">
      <additional-excludes>
        <exclude name="example/exampledocs/post.jar" />
        <exclude name="server/solr-webapp/**" />
        <exclude name="package/**"/>
      </additional-excludes>
      <additional-filters>
        <replaceregex pattern="jetty([^/]+)$" replace="jetty" flags="gi" />
        <!-- start.jar comes from jetty, .jar already stripped by checker defaults --> 
        <replaceregex pattern="^start$" replace="jetty" flags="gi" />
        <replaceregex pattern="slf4j-([^/]+)$" replace="slf4j" flags="gi" />
        <replaceregex pattern="(bcmail|bcprov)-([^/]+)$" replace="\1" flags="gi" />
      </additional-filters>
    </license-check-macro>
  </target>
  
  <target name="check-forbidden-apis" depends="-install-forbidden-apis" description="Check forbidden API calls in compiled class files.">
    <subant target="check-forbidden-apis" inheritall="false" >
      <propertyset refid="uptodate.and.compiled.properties"/>
      <fileset dir="core" includes="build.xml"/>
      <fileset dir="solrj" includes="build.xml"/>
      <fileset dir="test-framework" includes="build.xml"/>
    </subant>
    <contrib-crawl target="check-forbidden-apis"/>
  </target>

  <!-- rat sources -->
  <!-- rat-sources-typedef is *not* a useless dependency. do not remove -->
  <target name="rat-sources" depends="rat-sources-typedef,common.rat-sources">
    <subant target="rat-sources" inheritall="false" >
      <propertyset refid="uptodate.and.compiled.properties"/>
      <fileset dir="core" includes="build.xml"/>
      <fileset dir="solrj" includes="build.xml"/>
      <fileset dir="test-framework" includes="build.xml"/>
      <fileset dir="webapp" includes="build.xml"/>
    </subant>
    <contrib-crawl target="rat-sources"/>
  </target>
  
  <!-- Clean targets -->
  <target name="clean" description="Cleans compiled files and other temporary artifacts.">
    <delete dir="build" />
    <delete dir="dist" />
    <delete dir="package" />
    <delete dir="server/solr/lib" />
    <delete dir="example/solr/lib" />
    <delete dir="example/cloud" />
    <delete dir="example/techproducts" />
    <delete dir="example/schemaless" />
    <delete includeemptydirs="true">
      <fileset dir="bin">
        <include name="*.pid" />
      </fileset>
      <fileset dir="example">
        <include name="**/data/**/*" />
        <exclude name="**/.gitignore" />
      </fileset>
      <fileset dir="server">
        <include name="**/data/**/*" />
        <include name="solr/zoo_data/" />
        <include name="start.jar" />
        <include name="logs/*" />
        <include name="webapps" />
        <include name="solr-webapp/**/*" />
        <exclude name="**/.gitignore" />
      </fileset>      
    </delete>
  </target>
  
  <target name="clean-dest"
          description="Cleans out build/ but leaves build/docs/, dist/ and package/ alone.  This allows us to run nightly and clover together in Hudson">
    <delete includeemptydirs="true" >
      <fileset dir="build">
        <exclude name="docs/"/>
      </fileset>
    </delete>
  </target>

  <!-- ========================================================================= -->
  <!-- ===================== DISTRIBUTION-RELATED TASKS ======================== -->
  <!-- ========================================================================= -->
 
  <target name="dist"
          description="Creates the Solr distribution files."
          depends="dist-solrj, dist-core, dist-test-framework, dist-contrib" />
 
  <target name="dist-test-framework" depends="init-dist"
          description="Creates the Solr test-framework JAR.">
    <ant dir="test-framework" target="dist" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
  </target>
  
  <target name="dist-contrib" depends="init-dist"
          description="Make the contribs ready for distribution">
    <contrib-crawl target="dist"/>
  </target>
  
  <target name="prepare-release-no-sign" depends="clean, package, generate-maven-artifacts"/>
  <target name="prepare-release" depends="prepare-release-no-sign, sign-artifacts"/>
 
  <!-- make a distribution -->
  <target name="package" depends="package-src-tgz,create-package,documentation,-dist-changes"/>

  <!-- copy changes/ to the release folder -->
  <target name="-dist-changes">
   <copy todir="${package.dir}/changes">
     <fileset dir="build/docs/changes"/>
   </copy>
  </target>

  <!-- Makes a tarball of the source.    -->
  <!-- Copies NOTICE.txt and LICENSE.txt from solr/ to the root level. -->
  <target name="package-src-tgz" depends="init-dist"
          description="Packages the Solr Source Distribution">
    <property name="source.package.file"
              location="${package.dir}/${fullnamever}-src.tgz"/>
    <delete file="${source.package.file}" failonerror="false" />
    <export-source source.dir=".."/>

    <!-- Exclude javadoc package-list files under licenses incompatible with the ASL -->
    <delete dir="${src.export.dir}/lucene/tools/javadoc/java8"/>

    <build-changes changes.src.file="${src.export.dir}/solr/CHANGES.txt"
                   changes.target.dir="${src.export.dir}/solr/docs/changes"
                   changes.product="solr"/>

    <tar destfile="${source.package.file}" compression="gzip" longfile="gnu">
      <tarfileset dir="${src.export.dir}/lucene"
                  includes="CHANGES.txt"
                  fullpath="${fullnamever}/solr/LUCENE_CHANGES.txt" />
      <tarfileset dir="${src.export.dir}"
                  prefix="${fullnamever}"
                  excludes="solr/example/**/*.sh solr/example/**/bin/ solr/scripts/**"/>
      <tarfileset dir="${src.export.dir}"
                  prefix="${fullnamever}"
                  filemode="755"
                  includes="solr/example/**/*.sh solr/example/**/bin/ solr/scripts/**"/>
      <tarfileset dir="${src.export.dir}/solr" prefix="${fullnamever}"
                  includes="NOTICE.txt,LICENSE.txt"/>
    </tar>
    <make-checksums file="${source.package.file}"/>
  </target>
 
  <target name="package-local-src-tgz"
          description="Packages the Solr and Lucene sources from the local working copy">
    <mkdir dir="${common-solr.dir}/build"/>
    <property name="source.package.file"
              value="${common-solr.dir}/build/${fullnamever}-src.tgz"/>
    <delete file="${source.package.file}" failonerror="false" />

    <!-- includes/excludes requires a relative path -->
    <property name="dist.rel" location="${dist}" relative="yes"/>
    <property name="package.dir.rel" location="${package.dir}" relative="yes"/>

    <tar destfile="${source.package.file}" compression="gzip" longfile="gnu">
      <tarfileset dir=".." prefix="${fullnamever}" includes="*.txt *.xml dev-tools/" />
      <tarfileset dir="." prefix="${fullnamever}" includes="LICENSE.txt NOTICE.txt"/>
      <tarfileset dir="." prefix="${fullnamever}/solr"
                  excludes="build/** ${package.dir.rel}/** ${dist.rel}/**
                            example/lib/**
                            **/*.jar 
                            lib/README.committers.txt **/data/ **/logs/*
                            **/*.sh **/bin/ scripts/ 
                            .idea/ **/*.iml **/pom.xml" />
      <tarfileset dir="." prefix="${fullnamever}/solr"
                  includes="core/src/test-files/solr/lib/classes/empty-file-main-lib.txt" />
      <tarfileset dir="." filemode="755" prefix="${fullnamever}/solr"
                  includes="**/*.sh **/bin/ scripts/"
                  excludes="build/**"/>
      <tarfileset dir="../lucene" prefix="${fullnamever}/lucene">
        <patternset refid="lucene.local.src.package.patterns"/>
      </tarfileset>
    </tar>
  </target>

  <target name="create-package"
          description="Packages the Solr Binary Distribution">
    <antcall inheritall="true">
      <param name="called.from.create-package" value="true"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
      <target name="init-dist"/>
      <target name="dist"/>
      <target name="server"/>
      <target name="documentation-online"/>
    </antcall>
    <mkdir dir="${dest}/${fullnamever}"/>
    <delete includeemptydirs="true">
      <fileset dir="${dest}/${fullnamever}" includes="**/*"/>
    </delete>
 
    <delete file="${package.dir}/${fullnamever}.tgz" failonerror="false" />
    <delete file="${package.dir}/${fullnamever}.zip" failonerror="false" />
 
    <mkdir dir="${dest}/contrib-lucene-libs-to-package"/>
    <delete dir="${dest}/contrib-lucene-libs-to-package" includes="**/*"/>
    <contrib-crawl target="add-lucene-libs-to-package"/>
 
    <tar destfile="${package.dir}/${fullnamever}.tgz" compression="gzip" longfile="gnu">
      <tarfileset dir="../lucene"
                  includes="CHANGES.txt"
                  fullpath="${fullnamever}/LUCENE_CHANGES.txt" />
      <tarfileset dir="."
                  prefix="${fullnamever}"
                  includes="LICENSE.txt NOTICE.txt CHANGES.txt README.txt SYSTEM_REQUIREMENTS.txt
                            bin/** server/** example/** contrib/**/lib/** contrib/**/conf/** contrib/**/README.txt
                            licenses/**"
                  excludes="licenses/README.committers.txt **/data/ **/logs/* 
                            **/classes/ **/*.sh **/ivy.xml **/build.xml
                            **/bin/ **/*.iml **/*.ipr **/*.iws **/pom.xml 
                            **/*pom.xml.template server/etc/test/ contrib/**/src/" />
      <tarfileset dir="${dest}/contrib-lucene-libs-to-package"
                  prefix="${fullnamever}"
                  includes="**" />
      <tarfileset dir="."
                  filemode="755"
                  prefix="${fullnamever}"
                  includes="bin/** server/**/*.sh example/**/*.sh example/**/bin/ contrib/**/bin/**"
                  excludes="server/etc/test/**" />
      <tarfileset dir="."
                  prefix="${fullnamever}"
                  includes="dist/*.jar
                            dist/solrj-lib/*
                            dist/test-framework/**"
                  excludes="**/*.tgz **/*.zip **/*.md5 **/*src*.jar **/*docs*.jar **/*.sha1 **/*.sha512" />
      <tarfileset dir="${javadoc-online.dir}"
                  prefix="${fullnamever}/docs" />
    </tar>
    <make-checksums file="${package.dir}/${fullnamever}.tgz"/>
 
    <untar compression="gzip" src="${package.dir}/${fullnamever}.tgz" dest="${dest}"/>
 
    <!--
        This is a list of text file patterns to convert to CRLF line-ending style.
        Shell scripts and files included in shell scripts should not be converted.
        NB: The line-ending conversion process will mangle non-UTF8-encoded files.
       -->
    <fixcrlf srcdir="${dest}/${fullnamever}"
             encoding="UTF-8"
             eol="crlf"
             includes="**/*.alg **/*.cfg **/*.cgi **/*.cpp **/*.css **/*.csv **/*.dtd
                        **/*.erb **/*.fcgi **/.htaccess **/*.htm **/*.html **/*.incl
                        **/*.java **/*.javacc **/*.jflex **/*.jflex-macro **/*.jj
                        **/*.js **/*.json **/*.jsp **/*LICENSE **/package-list **/*.pl
                        **/*.pom **/*pom.xml.template **/*.properties **/*.py
                        **/*.rake **/Rakefile **/*.rb **/*.rbbi **/README* **/*.rhtml
                        **/*.rslp **/*.rxml **/*.script **/*.svg **/*.tsv **/*.txt
                        **/UPGRADING **/USAGE **/*.uxf **/*.vm **/*.xcat **/*.xml
                        **/*.xsl **/*.xslt **/*.yml"
             excludes="**/stopwordsWrongEncoding.txt **/gb18030-example.xml"
        />
 
    <zip destfile="${package.dir}/${fullnamever}.zip">
      <zipfileset dir="${dest}/${fullnamever}"
                  prefix="${fullnamever}"
                  excludes="**/*.sh **/bin/ src/scripts/" />
      <zipfileset dir="${dest}/${fullnamever}"
                  prefix="${fullnamever}"
                  includes="**/*.sh **/bin/ src/scripts/"
                  filemode="755" />
    </zip>
    <make-checksums file="${package.dir}/${fullnamever}.zip"/>
  </target>

  <target name="changes-to-html" depends="define-lucene-javadoc-url">
    <build-changes changes.product="solr"/>
  </target>
 
  <target name="sign-artifacts">
    <sign-artifacts-macro artifacts.dir="${package.dir}"/>
  </target>
 
  <target name="resolve" depends="resolve-example,resolve-server">
     <sequential>
     <ant dir="core" target="resolve" inheritall="false">
       <propertyset refid="uptodate.and.compiled.properties"/>
     </ant>
     <ant dir="solrj" target="resolve" inheritall="false">
        <propertyset refid="uptodate.and.compiled.properties"/>
     </ant>
     <ant dir="test-framework" target="resolve" inheritall="false">
       <propertyset refid="uptodate.and.compiled.properties"/>
     </ant>
     <ant dir="server" target="resolve" inheritall="false">
       <propertyset refid="uptodate.and.compiled.properties"/>
     </ant>
     <ant dir="solr-ref-guide" target="resolve" inheritall="false">
       <propertyset refid="uptodate.and.compiled.properties"/>
     </ant>
     <contrib-crawl target="resolve"/>
    </sequential>
  </target>

  <target name="documentation-lint" depends="-ecj-javadoc-lint,-documentation-lint-unsupported" if="documentation-lint.supported"
          description="Validates the generated documentation (HTML errors, broken links,...)">
    <!-- we use antcall here, otherwise ANT will run all dependent targets: -->
    <antcall target="-documentation-lint"/>
  </target>

  <!-- TODO: does solr have any other docs we should check? -->
  <!-- TODO: also integrate checkJavaDocs.py, which does more checks -->
  <target name="-documentation-lint" depends="documentation">
    <jtidy-macro>
       <!-- NOTE: must currently exclude deprecated-list due to a javadocs bug (as of 1.7.0_09)
            javadocs generates invalid XML if you deprecate a method that takes a parameter
            with a generic type -->
      <fileset dir="build/docs" includes="**/*.html" excludes="**/deprecated-list.html"/>
    </jtidy-macro>
    <echo message="Checking for broken links..."/>
    <check-broken-links dir="${javadoc.dir}"/>
    <echo message="Checking for malformed docs..."/>
    <!-- TODO: add missing docs for all classes and bump this to level=class -->
    <check-missing-javadocs dir="${javadoc.dir}" level="package"/>
  </target>

  <target name="-ecj-javadoc-lint" depends="compile,compile-test,jar-test-framework,-ecj-javadoc-lint-unsupported,-ecj-resolve" if="ecj-javadoc-lint.supported">
    <subant target="-ecj-javadoc-lint" failonerror="true" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
      <fileset dir="core" includes="build.xml"/>
      <fileset dir="solrj" includes="build.xml"/>
      <fileset dir="test-framework" includes="build.xml"/>
    </subant>
    <contrib-crawl target="-ecj-javadoc-lint"/>
  </target>

  <!-- define-lucene-javadoc-url is *not* a useless dependencies. Do not remove! -->
  <target name="-dist-maven" depends="install-maven-tasks,define-lucene-javadoc-url">
    <sequential>
      <m2-deploy pom.xml="${filtered.pom.templates.dir}/solr/pom.xml"/>    <!-- Solr parent POM -->
      <subant target="-dist-maven" inheritall="false" >
        <propertyset refid="uptodate.and.compiled.properties"/>
        <fileset dir="core" includes="build.xml"/>
        <fileset dir="solrj" includes="build.xml"/>
        <fileset dir="test-framework" includes="build.xml"/>
        <fileset dir="webapp" includes="build.xml"/>
      </subant>
      <contrib-crawl target="-dist-maven"/>
    </sequential>
  </target>

  <target name="-install-to-maven-local-repo" depends="install-maven-tasks">
    <sequential>
      <m2-install pom.xml="${filtered.pom.templates.dir}/solr/pom.xml"/>    <!-- Solr parent POM -->
      <subant target="-install-to-maven-local-repo" inheritall="false">
        <propertyset refid="uptodate.and.compiled.properties"/>
        <fileset dir="core" includes="build.xml"/>
        <fileset dir="solrj" includes="build.xml"/>
        <fileset dir="test-framework" includes="build.xml"/>
        <fileset dir="webapp" includes="build.xml"/>
      </subant>
      <contrib-crawl target="-install-to-maven-local-repo"/>
    </sequential>
  </target>

  <target name="generate-maven-artifacts" depends="-unpack-solr-tgz">
    <ant dir=".." target="resolve" inheritall="false"/>
    <antcall target="-filter-pom-templates" inheritall="false"/>
    <antcall target="-dist-maven" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </antcall>
  </target>
 
  <target name="-validate-maven-dependencies" depends="compile-tools, install-maven-tasks, load-custom-tasks">
    <sequential>
      <subant target="-validate-maven-dependencies" failonerror="true" inheritall="false">
        <propertyset refid="uptodate.and.compiled.properties"/>
        <fileset dir="core" includes="build.xml"/>
        <fileset dir="solrj" includes="build.xml"/>
        <fileset dir="test-framework" includes="build.xml"/>
        <fileset dir="webapp" includes="build.xml"/>
      </subant>
      <contrib-crawl target="-validate-maven-dependencies"/>
    </sequential>
  </target>
   
  <!-- ========================================================================= -->
  <!-- ========================= COMMITTERS' HELPERS =========================== -->
  <!-- ========================================================================= -->
  
  <property name="analysis-common.res.dir"  value="../lucene/analysis/common/src/resources/org/apache/lucene/analysis"/>
  <property name="analysis-kuromoji.res.dir"  value="../lucene/analysis/kuromoji/src/resources/org/apache/lucene/analysis"/>
  <property name="analysis.conf.dest" value="${example}/solr/collection1/conf/lang"/>

  <target name="sync-analyzers"
          description="Committers' Helper: synchronizes analysis resources (e.g. stoplists) to the example">
    <!-- arabic -->
    <copy verbose="true" file="${analysis-common.res.dir}/ar/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_ar.txt"/>
    <!-- bulgarian -->
    <copy verbose="true" file="${analysis-common.res.dir}/bg/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_bg.txt"/>
    <!-- catalan -->
    <copy verbose="true" file="${analysis-common.res.dir}/ca/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_ca.txt"/>
    <!-- kurdish -->
    <copy verbose="true" file="${analysis-common.res.dir}/ckb/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_ckb.txt"/>
    <!-- czech -->
    <copy verbose="true" file="${analysis-common.res.dir}/cz/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_cz.txt"/>
    <!-- danish -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/danish_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_da.txt"/>
    <!-- german -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/german_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_de.txt"/>
    <!-- greek -->
    <copy verbose="true" file="${analysis-common.res.dir}/el/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_el.txt"/>
    <!-- spanish -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/spanish_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_es.txt"/>
    <!-- basque -->
    <copy verbose="true" file="${analysis-common.res.dir}/eu/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_eu.txt"/>
    <!-- persian -->
    <copy verbose="true" file="${analysis-common.res.dir}/fa/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_fa.txt"/>
    <!-- finnish -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/finnish_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_fi.txt"/>
    <!-- french -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/french_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_fr.txt"/>
        <!-- irish -->
    <copy verbose="true" file="${analysis-common.res.dir}/ga/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_ga.txt"/>
    <!-- galician -->
    <copy verbose="true" file="${analysis-common.res.dir}/gl/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_gl.txt"/>
    <!-- hindi -->
    <copy verbose="true" file="${analysis-common.res.dir}/hi/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_hi.txt"/>
    <!-- hungarian -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/hungarian_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_hu.txt"/>
    <!-- armenian -->
    <copy verbose="true" file="${analysis-common.res.dir}/hy/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_hy.txt"/>
    <!-- indonesian -->
    <copy verbose="true" file="${analysis-common.res.dir}/id/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_id.txt"/>
    <!-- italian -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/italian_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_it.txt"/>
    <!-- japanese -->
    <copy verbose="true" file="${analysis-kuromoji.res.dir}/ja/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_ja.txt"/>
    <copy verbose="true" file="${analysis-kuromoji.res.dir}/ja/stoptags.txt"
                         tofile="${analysis.conf.dest}/stoptags_ja.txt"/>
    <!-- latvian -->
    <copy verbose="true" file="${analysis-common.res.dir}/lv/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_lv.txt"/>
    <!-- dutch -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/dutch_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_nl.txt"/>
    <!-- norwegian -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/norwegian_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_no.txt"/>
    <!-- portuguese -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/portuguese_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_pt.txt"/>
    <!-- romanian -->
    <copy verbose="true" file="${analysis-common.res.dir}/ro/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_ro.txt"/>
    <!-- russian -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/russian_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_ru.txt"/>
    <!-- swedish -->
    <copy verbose="true" file="${analysis-common.res.dir}/snowball/swedish_stop.txt"
                         tofile="${analysis.conf.dest}/stopwords_sv.txt"/>
    <!-- thai -->
    <copy verbose="true" file="${analysis-common.res.dir}/th/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_th.txt"/>
    <!-- turkish -->
    <copy verbose="true" file="${analysis-common.res.dir}/tr/stopwords.txt"
                         tofile="${analysis.conf.dest}/stopwords_tr.txt"/>
  </target>

  <target name="jar-checksums" depends="resolve">
    <jar-checksum-macro srcdir="${common-solr.dir}" dstdir="${common-solr.dir}/licenses"/>
  </target>

  <target name="-append-module-dependencies-properties">
    <ant dir="core" target="-append-module-dependencies-properties" inheritAll="false"/>
    <ant dir="solrj" target="-append-module-dependencies-properties" inheritAll="false"/>
    <ant dir="test-framework" target="-append-module-dependencies-properties" inheritAll="false"/>
    <contrib-crawl target="-append-module-dependencies-properties"/>
  </target>

</project>
