<?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=".">
  <!-- Look for property definition in various *build.properties files -->
  <property file="${user.home}/lucene.build.properties"/>
  <property file="${user.home}/build.properties"/>
  <property file="${basedir}/build.properties"/>
  <property file="lucene/build.properties"/><!-- hack for Lucene users, clones Lucene's common-build.xml -->

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

  <property name="tests.heap-dump-dir" location="heapdumps"/>
  
  <target name="precommit" description="Run basic checks before committing"
          depends="check-svn-working-copy,validate,documentation-lint"/>

  <target name="test" description="Test both Lucene and Solr">
    <subant buildpath="." antfile="extra-targets.xml" target="-run-test" inheritall="false" failonerror="true" />
  </target>

  <target name="pitest" description="Run PITest on both Lucene and Solr">
    <subant target="pitest" inheritall="false" failonerror="false">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
    </subant>
  </target>

  <target name="documentation" 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" />
    </subant>
  </target>

  <target name="documentation-lint" 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" />
    </subant>
  </target>

  <target name="validate" description="Validate dependencies, licenses, etc." depends="-validate-source-patterns">
    <subant target="validate" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
    </subant>
    <subant buildpath="lucene" target="check-lib-versions" inheritall="false" failonerror="true"/>
  </target>
  
  <target name="-validate-source-patterns" unless="disable.source-patterns">
    <!-- check that there are no nocommits or @author javadoc tags: -->
    <property name="validate.currDir" location="."/>
    <pathconvert pathsep="${line.separator}" dirsep="/" property="validate.patternsFound" setonempty="false">
      <fileset dir="${validate.currDir}">
        <include name="**/*.java"/>
        <exclude name="**/backwards/**"/>
        <or>
          <containsregexp expression="@author\b" casesensitive="yes"/>
          <containsregexp expression="\bno(n|)commit\b" casesensitive="no"/>
          <containsregexp expression="\t" casesensitive="no"/>
        </or>
      </fileset>
      <map from="${validate.currDir}${file.separator}" to="* "/>
    </pathconvert>
    <fail if="validate.patternsFound">The following files contain @author tags, tabs or nocommits:${line.separator}${validate.patternsFound}</fail>
  </target>
	
  <target name="rat-sources" description="Runs rat across all sources and tests">
    <subant target="rat-sources" inheritall="false" failonerror="true">
      <fileset dir="." includes="extra-targets.xml" /><!-- run rat-sources also for root directory -->
      <fileset dir="lucene" includes="build.xml" />
      <fileset dir="solr" includes="build.xml" />
    </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" />
    </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" />
    </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" />
    </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"/>
    </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"/>
    </subant>
  </target>

  <property name="version" value="5.0-SNAPSHOT"/>
  <property name="maven-build-dir" value="maven-build"/>
  <property name="maven-version" value="2.2.1"/>

  <property name="maven.dependencies.filters.file" location="lucene/build/maven.dependencies.filters.properties"/>

  <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"
          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"/>
    </ant>
    <ant dir="solr" target="-unpack-solr-tgz" inheritall="false"/>
    <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" />
    </subant>
  </target>

  <target name="validate-maven-dependencies" depends="generate-maven-artifacts"
          description="Validates maven dependencies, licenses, etc.">
    <sequential>
      <subant target="-validate-maven-dependencies" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml"/>
        <fileset dir="solr" includes="build.xml"/>
      </subant>
    </sequential>
  </target>
  
  <target name="run-maven-build" depends="get-maven-poms" description="Runs the Maven build using automatically generated POMs">
    <subant buildpath="." antfile="extra-targets.xml" target="-run-maven-build" inheritall="false" failonerror="true">
      <propertyset>
        <propertyref prefix="maven-"/>
        <propertyref builtin="commandline"/>
      </propertyset>
    </subant>
  </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/**, backwards/**" />
      <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, analysis/uima/**, 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/**, example/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>
    <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/**, backwards/**" />
      <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, analysis/uima/**, 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>
    <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}"/>
    </xslt>

    <echo>
      SUCCESS: You must right-click your project and choose Refresh.
               Your project must use a Java 7 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=""/>
    <copy todir=".">
      <fileset dir="dev-tools/idea"/>
      <filterset begintoken="subst.=&quot;" endtoken="&quot;">
        <filter token="idea.jdk" value="${idea.jdk}"/>
      </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="1.7" 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" />
    </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/**"/>
      </fileset>
    </delete>
  </target>

  <target name="ivy-bootstrap" description="Download and install Ivy in the users ant lib dir">
    <subant buildpath="lucene" target="ivy-bootstrap" inheritall="false" failonerror="true"/>
  </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" />
    </subant>
  </target>

  <!-- define here, as common-build is not included! -->
  <property name="python32.exe" value="python3.2" />
  <property name="fakeRelease" location="lucene/build/fakeRelease"/>
  <property name="fakeReleaseTmp" location="lucene/build/fakeReleaseTmp"/>
  <property name="fakeReleaseVersion" value="5.0.0"/> <!-- *not* -SNAPSHOT, the real version -->
  <property name="smokeTestRelease.testArgs" value=""/>

  <target name="-load-env">
     <!-- load the properties only here, so not on every invocation /usr/bin/env is called: -->
     <property environment="env"/>
  </target>
  
  <target name="-env-JAVA7_HOME" depends="-load-env" if="env.JAVA7_HOME">
     <property name="JAVA7_HOME" value="${env.JAVA7_HOME}"/>
  </target>
  
  <target name="nightly-smoke" description="Builds an unsigned release and smoke tests it" depends="clean,-env-JAVA7_HOME">
   <fail unless="JAVA7_HOME">JAVA7_HOME property or environment variable is not defined.</fail>
   <exec executable="${python32.exe}" failonerror="true">
      <arg value="-V"/>
   </exec>
   <property name="svnversion.exe" value="svnversion" />
   <subant target="prepare-release-no-sign" inheritall="false" failonerror="true">
     <fileset dir="lucene" includes="build.xml" />
     <fileset dir="solr" includes="build.xml" />
     <property name="version" value="${fakeReleaseVersion}" />
   </subant>
   <delete dir="${fakeRelease}"/>
   <delete dir="${fakeReleaseTmp}"/>
   <mkdir dir="${fakeRelease}"/>
   <copy todir="${fakeRelease}/lucene">
     <fileset dir="lucene/dist"/>
   </copy>
   <copy todir="${fakeRelease}/solr">
     <fileset dir="solr/package"/>
   </copy>
   <makeurl file="${fakeRelease}" validate="false" property="fakeRelease.uri"/>
   <exec executable="${python32.exe}" failonerror="true">
     <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 value="${fakeRelease.uri}"/>
     <arg value="skip"/>
     <arg value="${fakeReleaseVersion}"/>
     <arg file="${fakeReleaseTmp}"/>
     <arg value="false"/>
     <arg value="-testArgs"/>
     <arg value="${smokeTestRelease.testArgs}"/>
     <env key="JAVA7_HOME" file="${JAVA7_HOME}"/>
   </exec>
   <delete dir="${fakeRelease}"/>
   <delete dir="${fakeReleaseTmp}"/>
  </target>
  
  <target name="check-svn-working-copy" description="Checks the status of the SVN working copy">
    <subant buildpath="." antfile="extra-targets.xml" target="-check-svn-working-copy" inheritall="false" failonerror="true"/>
  </target>

  <target name="run-clover" description="Runs all tests to measure coverage and generates report (pass &quot;ANT_OPTS=-Xmx1536M&quot; as environment)" depends="clean">
    <antcall>
      <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="test"/>
      <target name="-generate-clover-reports"/>
    </antcall>
  </target>

  <target name="-generate-clover-reports">
    <subant buildpath="." antfile="extra-targets.xml" target="-generate-clover-reports" inheritall="false" failonerror="true"/>
  </target>

  <target name="test-with-heapdumps" depends="-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"/>
      <contains string="${java.vm.name}" substring="jrockit" 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;"/>
    </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"/>
  </target>

  <!-- Jenkins tasks -->
  <target name="-jenkins-base" depends="clean,test-with-heapdumps,validate,documentation-lint,jar-checksums,check-svn-working-copy"/>
  
  <target name="jenkins-hourly">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <target name="-jenkins-base"/>
    </antcall>
  </target>
  
  <target name="jenkins-nightly">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <param name="tests.nightly" value="true"/>
      <target name="-jenkins-base"/>
    </antcall>
  </target>
  
  <target name="jenkins-maven-nightly" depends="clean,clean-maven-build">
    <!-- step 1: build, install, deploy, and validate ANT-generated maven artifacts: -->
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <target name="remove-maven-artifacts"/>
      <!-- this implicitely publishes the maven artifacts: -->
      <target name="validate-maven-dependencies"/>
    </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">
    <antcall>
      <param name="is.jenkins.build" value="true"/>
      <target name="run-clover"/>
    </antcall>
  </target>

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

  <target name="-check-after-regeneration">
    <subant buildpath="." antfile="extra-targets.xml" target="-check-after-regeneration" inheritall="false" failonerror="true"/>
  </target>

  <!-- TODO: remove me when jenkins works -->
  <target name="regenerateAndCheck" depends="regenerate,-check-after-regeneration"/>

  <target name="-append-all-modules-dependencies-properties">
    <sequential>
      <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" />
      </subant>
    </sequential>
  </target>
</project>
