<?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="lucene-solr" default="-projecthelp" basedir=".">
  <import file="lucene/common-build.xml"/>

  <property name="jgit-version" value="5.3.0.201903130848-r"/>
  
  <property name="tests.heap-dump-dir" location="heapdumps"/>
  
  <property name="maven-build-dir" value="maven-build"/>
  <property name="maven-version" value="3.5.0"/>
  <property name="maven.dependencies.filters.file" location="lucene/build/maven.dependencies.filters.properties"/>

  <property name="smokeTestRelease.dir" location="lucene/build/smokeTestRelease/dist"/>
  <property name="smokeTestRelease.tmp" location="lucene/build/smokeTestRelease/tmp"/>
  <property name="smokeTestRelease.testArgs" value=""/>

  <target name="-projecthelp">
    <java fork="false" classname="org.apache.tools.ant.Main" taskname="-">
      <arg value="-projecthelp"/>
      <arg value="-f"/>
      <arg value="${ant.file}"/>
    </java>
  </target>

  <target name="test-help" description="Test runner help">
    <subant buildpath="lucene" target="test-help" inheritall="false" failonerror="true"/>
  </target>

  <target name="precommit" description="Run basic checks before committing"
          depends="check-working-copy,validate,documentation-lint"/>

  <target name="test" description="Test both Lucene and Solr" depends="resolve-groovy">
    <mkdir dir="lucene/build" />
    <tempfile property="tests.totals.tmpfile"
          destdir="lucene/build"
          prefix=".test-totals-"
          suffix=".tmp"
          deleteonexit="true"
          createfile="true" />

    <subant target="test" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset>
        <propertyset refid="uptodate.and.compiled.properties"/>
        <propertyref name="tests.totals.tmpfile" />
      </propertyset>      
    </subant>

    <property name="tests.totals.toplevel" value="true" />
    <antcall target="-check-totals" />
  </target>

  <target name="jacoco" depends="resolve-groovy" description="Generates JaCoCo code coverage reports">
    <subant target="jacoco" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="pitest" depends="resolve-groovy" description="Run PITest on both Lucene and Solr">
    <subant target="pitest" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="beast">
    <fail message="The Beast only works inside of individual modules"/>
  </target>

  <target name="documentation" depends="resolve-markdown" description="Generate Lucene and Solr Documentation">
    <subant target="documentation" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="documentation-lint" depends="resolve-markdown,-ecj-javadoc-lint-unsupported,-ecj-resolve" description="Validates the generated documentation (HTML errors, broken links,...)">
    <subant target="documentation-lint" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </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" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="validate" description="Validate dependencies, licenses, etc." depends="validate-source-patterns,resolve-groovy,rat-sources-typedef,-install-forbidden-apis">
    <subant target="validate" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
    <subant buildpath="lucene" target="check-lib-versions" inheritall="false" failonerror="true">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>
  
  <target name="validate-source-patterns" description="Validate source code (invalid code patterns,...)" unless="disable.source-patterns" depends="resolve-groovy,rat-sources-typedef">
    <groovy taskname="source-patterns" classpathref="rat.classpath" src="${common.dir}/tools/src/groovy/check-source-patterns.groovy"/>
  </target>
  
  <target name="rat-sources" description="Runs rat across all sources and tests" depends="common.rat-sources">
    <subant target="rat-sources" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="resolve" description="Resolves all dependencies">
    <subant target="resolve" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <!-- lucene/test-framework and solr/test-framework are excluded from compilation -->
  <target name="compile" description="Compile Lucene and Solr">
    <subant target="compile" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="compile-core" description="Compile Lucene Core">
    <subant target="compile-core" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="compile-test" description="Compile Lucene and Solr tests and test-frameworks">
    <subant target="compile-test" inheritAll="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="jar" description="Build Lucene and Solr Jar files">
    <subant target="jar" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml"/>
      <fileset dir="solr" includes="build.xml"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="jar-src" description="Build Lucene and Solr Source Jar files">
    <subant target="jar-src" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml"/>
      <fileset dir="solr" includes="build.xml"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="get-maven-poms" depends="resolve" 
          description="Copy Maven POMs from dev-tools/maven/ to maven-build/">
    <ant dir="lucene" target="-get-maven-poms" inheritall="false"/>
  </target>

  <target name="clean-maven-build"
          description="Clean up Maven POMs in working copy">
    <delete failonerror="true" dir="${maven-build-dir}/"/>
  </target>

  <target name="generate-maven-artifacts" depends="resolve,resolve-groovy,resolve-markdown,install-maven-tasks"
          description="Generate Maven Artifacts for Lucene and Solr">
    <property name="maven.dist.dir"  location="dist/maven" />
    <mkdir dir="${maven.dist.dir}" />
    <ant dir="lucene" inheritall="false">
      <target name="-unpack-lucene-tgz"/>
      <target name="-filter-pom-templates"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <ant dir="solr" target="-unpack-solr-tgz" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <subant target="-dist-maven" inheritall="false" failonerror="true">
      <property name="maven.dist.dir"  location="${maven.dist.dir}" />
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="-install-maven-artifacts" depends="resolve,resolve-groovy,resolve-markdown,install-maven-tasks">
    <ant dir="lucene" inheritall="false">
      <target name="-unpack-lucene-tgz"/>
      <target name="-filter-pom-templates"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <ant dir="solr" target="-unpack-solr-tgz" inheritall="false">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </ant>
    <subant target="-install-to-maven-local-repo" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="validate-maven-dependencies" depends="-install-maven-artifacts"
          description="Validates maven dependencies, licenses, etc.">
    <subant target="-validate-maven-dependencies" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml"/>
      <fileset dir="solr" includes="build.xml"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>
  
  <target name="run-maven-build" depends="get-maven-poms,install-maven-tasks,resolve-groovy" description="Runs the Maven build using automatically generated POMs">
    <groovy src="${common.dir}/tools/src/groovy/run-maven-build.groovy"/>
  </target>
  
  <target name="remove-maven-artifacts" description="Removes all Lucene/Solr Maven artifacts from the local repository">
    <echo message="Removing all Lucene/Solr Maven artifacts from '${user.home}/.m2/repository'..."/>
    <delete includeemptydirs="true">
      <fileset dir="${user.home}/.m2/repository" erroronmissingdir="false">
        <include name="org/apache/lucene/**"/>
        <include name="org/apache/solr/**"/>
      </fileset>
    </delete>
  </target>

  <target name="netbeans" depends="resolve" description="Setup Netbeans configuration">
    <pathconvert property="netbeans.fileset.sourcefolders" pathsep="|" dirsep="/">
      <dirset dir="${basedir}/lucene" includes="**/src/java, **/src/examples, **/src/test, **/src/resources" 
              excludes="tools/**, build/**" />
      <dirset dir="${basedir}/solr" includes="**/src/java, **/src/examples, **/src/test, **/src/resources" 
              excludes="build/**" />
      <map from="${basedir}/" to=""/>
    </pathconvert>
    <!-- TODO: find a better way to exclude duplicate JAR files & fix the servlet-api mess! -->
    <pathconvert property="netbeans.path.libs" pathsep=":" dirsep="/">
      <fileset dir="${basedir}/lucene" includes="**/lib/*.jar" 
               excludes="**/*servlet-api*.jar, tools/**, build/**"/>
      <fileset dir="${basedir}/solr" includes="**/test-lib/*.jar,**/lib/*.jar" 
               excludes="core/test-lib/*servlet-api*.jar, contrib/analysis-extras/**, test-framework/lib/junit*, test-framework/lib/ant*, test-framework/lib/randomizedtesting*, build/**, dist/**, package/**, server/solr-webapp/**" />
      <map from="${basedir}/" to=""/>
    </pathconvert>
    <mkdir dir="nbproject"/>
    <copy todir="nbproject" overwrite="true">
      <fileset dir="dev-tools/netbeans/nbproject"/>
    </copy>
    <xslt in="${ant.file}" out="nbproject/project.xml" style="dev-tools/netbeans/nb-project.xsl" force="true">
      <outputproperty name="indent" value="yes"/>
      <param name="netbeans.fileset.sourcefolders" expression="${netbeans.fileset.sourcefolders}"/>
      <param name="netbeans.path.libs" expression="${netbeans.path.libs}"/>
      <param name="netbeans.source-level" expression="1.7"/>
    </xslt>
  </target>

  <target name="clean-netbeans" description="Removes all Netbeans configuration files">
    <delete dir="nbproject" failonerror="true"/>
    <delete dir="nb-build" failonerror="true"/>
  </target>

  <target name="eclipse" depends="resolve" description="Setup Eclipse configuration">
    <basename file="${basedir}" property="eclipseprojectname"/>
    <copy file="dev-tools/eclipse/dot.project" tofile=".project" overwrite="false" encoding="UTF-8">
      <filterset>
        <filter token="ECLIPSEPROJECTNAME" value="${eclipseprojectname}"/>
      </filterset>
    </copy>
    <copy overwrite="false" todir="eclipse-build" encoding="UTF-8">
      <fileset dir="dev-tools/eclipse" includes="*.launch"/>
      <filterset>
        <filter token="ECLIPSEPROJECTNAME" value="${eclipseprojectname}"/>
      </filterset>
    </copy>
    <mkdir dir=".settings"/>
    <copy todir=".settings/" overwrite="true">
      <fileset dir="dev-tools/eclipse/dot.settings" includes="*.prefs" />
    </copy>

    <pathconvert property="eclipse.fileset.sourcefolders" pathsep="|" dirsep="/">
      <dirset dir="${basedir}/lucene" includes="**/src/java, **/src/resources, **/src/test, **/src/test-files, **/src/examples" excludes="tools/**, build/**" />
      <dirset dir="${basedir}/solr" includes="**/src/java, **/src/resources, **/src/test, **/src/test-files, **/src/examples" excludes="build/**" />
      <map from="${basedir}/" to=""/>
    </pathconvert>
    <!-- TODO: find a better way to exclude duplicate JAR files & fix the servlet-api mess! -->
    <pathconvert property="eclipse.fileset.libs" pathsep="|" dirsep="/">
      <fileset dir="${basedir}/lucene" includes="**/lib/*.jar" excludes="**/*servlet-api*.jar, tools/**, build/**"/>
      <fileset dir="${basedir}/solr" includes="**/test-lib/*.jar,**/lib/*.jar" excludes="core/test-lib/*servlet-api*.jar, contrib/analysis-extras/**, test-framework/lib/junit*, test-framework/lib/ant*, test-framework/lib/randomizedtesting*, build/**, dist/**, package/**" />
      <map from="${basedir}/" to=""/>
    </pathconvert>
    <pathconvert property="eclipse.fileset.webfolders" pathsep="|" dirsep="/">
      <dirset dir="${basedir}/solr/server/contexts" excludes="**/*" />
      <dirset dir="${basedir}/solr/server/etc" excludes="**/*" />
      <dirset dir="${basedir}/solr/server/modules" excludes="**/*" />
      <dirset dir="${basedir}/solr/server/solr" excludes="**/*" />
      <dirset dir="${basedir}/solr/webapp/web" excludes="**/*" />
      <map from="${basedir}/" to=""/>
    </pathconvert>
    <xslt in="${ant.file}" out=".classpath" style="dev-tools/eclipse/dot.classpath.xsl" force="true">
      <outputproperty name="indent" value="yes"/>
      <param name="eclipse.fileset.libs" expression="${eclipse.fileset.libs}"/>
      <param name="eclipse.fileset.sourcefolders" expression="${eclipse.fileset.sourcefolders}"/>
      <param name="eclipse.fileset.webfolders" expression="${eclipse.fileset.webfolders}"/>
    </xslt>

    <echo>
      SUCCESS: You must right-click your project and choose Refresh.
               Your project must use a Java 11 JRE.
    </echo>
  </target>

  <target name="clean-eclipse" description="Removes all Eclipse configuration files">
    <delete dir=".settings" failonerror="true"/>
    <delete failonerror="true">
      <fileset dir="." includes=".classpath,.project"/>
    </delete>
    <delete dir="eclipse-build" failonerror="true"/>
  </target>

  <target name="idea" depends="resolve" description="Setup IntelliJ IDEA configuration">
    <condition property="idea.jdk.is.set">
      <isset property="idea.jdk"/>
    </condition>
    <!-- Define ${idea.jdk} if it's not yet defined - otherwise literal "${idea.jdk}" is substituted -->
    <property name="idea.jdk" value=""/>
    <!-- delete those files first, so they are regenerated by the filtering below
      (add more files with dynamic properties like versions here): -->
    <delete dir=".idea" includes="misc.xml workspace.xml"/>
    <!-- Copy files with filtering: -->
    <copy todir="." overwrite="false" encoding="UTF-8">
      <fileset dir="dev-tools/idea"/>
      <filterset begintoken="subst.=&quot;" endtoken="&quot;">
        <filter token="idea.jdk" value="${idea.jdk}"/>
      </filterset>
      <filterset>
        <filter token="version" value="${version}"/>
        <filter token="version.base" value="${version.base}"/>
      </filterset>
    </copy>
    <antcall target="-post-idea-instructions"/>
  </target>
  
  <target name="-post-idea-instructions" unless="idea.jdk.is.set">
    <echo>
To complete IntelliJ IDEA setup, you must manually configure
File | Project Structure | Project | Project SDK.
      
You won't have to do this in the future if you define property
$${idea.jdk}, e.g. in ~/lucene.build.properties, ~/build.properties
or lucene/build.properties, with a value consisting of the
following two XML attributes/values (adjust values according to
JDKs you have defined locally - see 
File | Project Structure | Platform Settings | SDKs):

    idea.jdk = project-jdk-name="11" project-jdk-type="JavaSDK"
    </echo>
  </target>

  <target name="clean-idea"
          description="Removes all IntelliJ IDEA configuration files">
    <delete dir=".idea" failonerror="true"/>
    <delete failonerror="true">
      <fileset dir="." includes="*.iml,*.ipr,*.iws"/>
      <fileset dir="solr" includes="**/*.iml"/>
      <fileset dir="lucene" includes="**/*.iml"/>
    </delete>
    <delete dir="idea-build" failonerror="true"/>
  </target>

  <target name="clean" description="Clean Lucene and Solr build dirs">
    <delete dir="dist" />
    <delete dir="${tests.heap-dump-dir}" />
    <subant target="clean" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="clean-jars" description="Remove all JAR files from lib folders in the checkout">
    <delete failonerror="true">
      <fileset dir=".">
        <include name="**/*.jar"/>
        <exclude name="*/build/**"/>
        <exclude name="*/dist/**"/>
        <exclude name="*/package/**"/>
        <exclude name="*/example/exampledocs/**"/>
        <exclude name="gradle/**" />
      </fileset>
    </delete>
  </target>

  <target name="jar-checksums" description="Recompute SHA1 checksums for all JAR files.">
    <subant target="jar-checksums" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <target name="-nightly-smoke-java12params" if="smokeTestRelease.java12">
    <!-- convert path to UNIX style, so windows backslashes don't hurt escaping: -->
    <pathconvert targetos="unix" property="-smokeTestRelease.java12params">
      <regexpmapper from="^(.*)$" to="--test-java12 '\1'"/>
      <path location="${smokeTestRelease.java12}"/>
    </pathconvert>
  </target>
  
  <target name="nightly-smoke" description="Builds an unsigned release and smoke tests it  (pass '-DsmokeTestRelease.java12=/path/to/jdk-12' to additionally test with Java 12 or later)"
    depends="clean,resolve-groovy,resolve-markdown,install-maven-tasks,-nightly-smoke-java12params">
    <fail message="To run nightly smoke, the JDK must be exactly Java 11, was: ${java.specification.version}">
      <condition>
        <not><equals arg1="${java.specification.version}" arg2="11"/></not>
      </condition>
    </fail>
    <property name="-smokeTestRelease.java12params" value=""/><!-- (if not yet defined) -->
    <exec executable="${python3.exe}" failonerror="true" taskname="python3">
      <arg value="-V"/>
    </exec>
    <subant target="prepare-release-no-sign" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <!-- pass ${version.base} here to emulate a real release, without appendix like "-SNAPSHOT": -->
      <property name="version" value="${version.base}" />
      <propertyset refid="uptodate.and.compiled.properties"/>
   </subant>
    <mkdir dir="${smokeTestRelease.dir}"/>
    <copy todir="${smokeTestRelease.dir}/lucene">
      <fileset dir="lucene/dist"/>
    </copy>
    <copy todir="${smokeTestRelease.dir}/solr">
      <fileset dir="solr/package"/>
    </copy>
    <local name="url"/>
    <makeurl file="${smokeTestRelease.dir}" validate="false" property="url"/>
    <exec executable="${python3.exe}" failonerror="true" taskname="smoker">
      <arg value="-u"/>
      <!-- Tell Python not to write any bytecode cache into the filesystem: -->
      <arg value="-B"/>
      <arg file="dev-tools/scripts/smokeTestRelease.py"/>
      <arg line="${-smokeTestRelease.java12params}"/>
      <arg value="--revision"/>
      <arg value="skip"/>
      <!-- pass ${version.base} here to emulate a real release, without appendix like "-SNAPSHOT": -->
      <arg value="--version"/>
      <arg value="${version.base}"/>
      <arg value="--tmp-dir"/>
      <arg file="${smokeTestRelease.tmp}"/>
      <arg value="--not-signed"/>
      <arg value="${url}"/>
      <arg value="${smokeTestRelease.testArgs}"/>
    </exec>
    <delete dir="${smokeTestRelease.dir}"/>
    <delete dir="${smokeTestRelease.tmp}"/>
  </target>
  
  <macrodef xmlns:ivy="antlib:org.apache.ivy.ant" name="wc-checker">
    <attribute name="failonmodifications"/><!-- fail if modifications were found, otherwise it only fails on unversioned files -->
    <sequential>
      <local name="wc.unversioned.files"/>
      <local name="wc.modified.files"/>
      <ivy:cachepath xmlns:ivy="antlib:org.apache.ivy.ant" transitive="true" resolveId="jgit" pathid="jgit.classpath">
        <ivy:dependency org="org.eclipse.jgit" name="org.eclipse.jgit" rev="${jgit-version}" conf="default" />
        <ivy:dependency org="org.slf4j" name="slf4j-nop" rev="1.7.2" conf="default" />
      </ivy:cachepath>
      <groovy taskname="wc-checker" classpathref="jgit.classpath" src="${common.dir}/tools/src/groovy/check-working-copy.groovy"/>
      <fail if="wc.unversioned.files"
        message="Source checkout is dirty (unversioned/missing files) after running tests!!! Offending files:${line.separator}${wc.unversioned.files}"/>
      <fail message="Source checkout is modified!!! Offending files:${line.separator}${wc.modified.files}">
        <condition>
          <and>
             <istrue value="@{failonmodifications}"/>
             <isset property="wc.modified.files"/>
          </and>
        </condition>
      </fail>
    </sequential>
  </macrodef>
  
  <target name="check-working-copy" description="Checks working copy for unversioned changes" depends="resolve-groovy">
    <wc-checker failonmodifications="${is.jenkins.build}"/>
  </target>

  <target name="run-clover" description="Runs all tests to measure coverage and generates report (pass &quot;ANT_OPTS=-Xmx2G&quot; as environment)" depends="clean">
    <antcall inheritAll="false">
      <param name="run.clover" value="true"/>
      <!-- must be 1, as clover does not like parallel test runs: -->
      <param name="tests.jvms.override" value="1"/>
      <!-- Also override some other props to be fast: -->
      <param name="tests.multiplier" value="1"/>
      <param name="tests.nightly" value="false"/>
      <param name="tests.weekly" value="false"/>
      <param name="tests.badapples" value="true"/>
      <!-- The idea behind Clover is to determine test coverage, so be immune to failing tests: -->
      <param name="tests.haltonfailure" value="false"/>
      
      <target name="clover"/>
      <target name="test"/>
      <target name="-generate-clover-reports"/>
      
      <propertyset refid="uptodate.and.compiled.properties"/>
    </antcall>
  </target>

  <!--
   Run after Junit tests.
   
   This target is in a separate file, as it needs to include common-build.xml,
   but must run from top-level!
   -->
  <target name="-generate-clover-reports" depends="clover">
    <fail unless="run.clover">Clover not enabled!</fail>
    <mkdir dir="${clover.report.dir}"/>
    <fileset dir="." id="clover.test.result.files">
      <include name="*/build/**/test/TEST-*.xml"/>
    </fileset>
    <fileset dir="." id="clover.test.src.files">
      <include name="**/src/test/**/*.java"/>
      <!-- test framework source files are all test code: -->
      <include name="*/test-framework/src/**/*.java"/>
    </fileset>
    <clover-report projectName="Apache Lucene/Solr">
      <current outfile="${clover.report.dir}" title="Apache Lucene/Solr ${version}" numThreads="0">
        <format type="html" filter="assert"/>
        <testresults refid="clover.test.result.files"/>
        <testsources refid="clover.test.src.files"/>
      </current>
      <current outfile="${clover.report.dir}/clover.xml" title="Apache Lucene/Solr ${version}">
        <format type="xml" filter="assert"/>
        <testresults refid="clover.test.result.files"/>
        <testsources refid="clover.test.src.files"/>
      </current>
    </clover-report>
    <echo>You can find the merged Lucene/Solr Clover report in '${clover.report.dir}'.</echo>
  </target>

  <target name="test-with-heapdumps" depends="resolve-groovy,-test-with-heapdumps-enabled,-test-with-heapdumps-disabled" description="Runs tests with heap dumps on OOM enabled (if VM supports this)"/>
  
  <condition property="vm.supports.heapdumps">
    <or>
      <contains string="${java.vm.name}" substring="hotspot" casesensitive="false"/>
      <contains string="${java.vm.name}" substring="openjdk" casesensitive="false"/>
    </or>
  </condition>

  <target name="-test-with-heapdumps-enabled" if="vm.supports.heapdumps">
    <echo level="info" message="${java.vm.name}: Enabling heap dumps on OutOfMemoryError to dir '${tests.heap-dump-dir}'."/>
    <mkdir dir="${tests.heap-dump-dir}"/>
    <delete includeEmptyDirs="true">
      <fileset dir="${tests.heap-dump-dir}"  includes="**/*"/>
    </delete>
    <antcall inheritAll="false" target="test">
      <param name="tests.heapdump.args" value="-XX:+HeapDumpOnOutOfMemoryError &quot;-XX:HeapDumpPath=${tests.heap-dump-dir}&quot;"/>
      <propertyset refid="uptodate.and.compiled.properties"/>
    </antcall>
    <pathconvert property="heapdumps.list" setonempty="false" pathsep="${line.separator}">
      <fileset dir="${tests.heap-dump-dir}"/>
      <map from="${tests.heap-dump-dir}${file.separator}" to="* "/>
    </pathconvert>
    <fail if="heapdumps.list" message="Some of the tests produced a heap dump, but did not fail. Maybe a suppressed OutOfMemoryError? Dumps created:${line.separator}${heapdumps.list}"/>
    <delete dir="${tests.heap-dump-dir}"/>
  </target>

  <target name="-test-with-heapdumps-disabled" unless="vm.supports.heapdumps">
    <echo level="warning" message="WARN: The used JVM (${java.vm.name}) does not support HPROF heap dumps on OutOfMemoryError."/>
    <antcall target="test">
      <propertyset refid="uptodate.and.compiled.properties"/>
    </antcall>
  </target>

  <target name="regenerate" description="Runs all code regenerators">
    <subant target="regenerate" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <!-- todo:
      <fileset dir="solr" includes="build.xml" />-->
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>

  <!-- should only be called by jenkins, not precommit! -->
  <target name="-check-after-regeneration" depends="resolve-groovy">
    <wc-checker failonmodifications="true"/>
  </target>

  <!-- TODO: remove me when jenkins works -->
  <target name="regenerateAndCheck" depends="regenerate,-check-after-regeneration"/>
  
  <target name="-append-all-modules-dependencies-properties">
    <delete file="lucene/build/module.dependencies.properties"/>
    <subant target="-append-module-dependencies-properties" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
      <propertyset refid="uptodate.and.compiled.properties"/>
    </subant>
  </target>
  
  <!-- Jenkins tasks -->
  <target name="-jenkins-base" depends="-print-java-info,clean,test-with-heapdumps,validate,documentation-lint,jar-checksums,check-working-copy"/>
  
  <target name="-print-java-info">
    <echo level="info" taskname="java-info">java version &quot;${java.version}&quot;
${java.runtime.name} (${java.runtime.version}, ${java.vendor})
${java.vm.name} (${java.vm.version}, ${java.vm.vendor})
Test args: [${args}]</echo>
  </target>
  
  <target name="jenkins-hourly">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <param name="tests.haltonfailure" value="false"/>
      <param name="tests.badapples" value="false"/>
      <target name="-jenkins-base"/>
    </antcall>
  </target>
  
  <target name="jenkins-badapples">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <param name="tests.haltonfailure" value="false"/>
      <param name="tests.badapples" value="true"/>
      <target name="-jenkins-base"/>
    </antcall>
  </target>
  
  <target name="jenkins-nightly">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <param name="tests.haltonfailure" value="false"/>
      <param name="tests.nightly" value="true"/>
      <param name="tests.badapples" value="false"/>
      <target name="-jenkins-base"/>
    </antcall>
  </target>

  <target name="jenkins-nightly-badapples">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <param name="tests.haltonfailure" value="false"/>
      <param name="tests.nightly" value="true"/>
      <param name="tests.badapples" value="true"/>
      <target name="-jenkins-base"/>
    </antcall>
  </target>

  <target name="jenkins-maven-nightly" depends="-print-java-info,clean,clean-maven-build,resolve-groovy,resolve-markdown,install-maven-tasks">
    <!-- step 1: build, install, validate and publish ANT-generated maven artifacts: -->
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <target name="remove-maven-artifacts"/>
      <target name="validate-maven-dependencies"/>
      <target name="generate-maven-artifacts"/>
    </antcall>
    <!-- step 2: run the maven build to check that the pom templates also work to drive "mvn": -->
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <target name="remove-maven-artifacts"/>
      <target name="run-maven-build"/>
    </antcall>
  </target>
  
  <target name="jenkins-clover" depends="-print-java-info">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <target name="run-clover"/>
    </antcall>
  </target>

  <!-- useless targets (override common-build.xml): -->
  <target name="generate-test-reports"/>
</project>
