<?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="test" basedir=".">
  <target name="test" description="Test both Lucene and Solr" depends="validate">
    <sequential>
      <subant target="test" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant>
    </sequential>
  </target>

  <target name="javadocs" description="Generate Lucene and Solr javadocs">
    <sequential>
      <subant target="javadocs" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant>
    </sequential>
  </target>

  <target name="validate" description="Validate dependencies, licenses, etc.">
    <sequential><subant target="validate" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant></sequential>
  </target>

  <target name="rat-sources" description="Runs rat across all sources and tests">
    <sequential><subant target="rat-sources" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
    </subant></sequential>
  </target>

  <target name="resolve" description="Resolves all dependencies">
    <sequential><subant target="resolve" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant></sequential>
  </target>

  <target name="compile" description="Compile Lucene and Solr">
    <sequential>

      <subant target="compile" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant>
    </sequential>
  </target>

  <property name="version" value="4.0-SNAPSHOT"/>
  <target name="get-maven-poms"
          description="Copy Maven POMs from dev-tools/maven/ to their target locations">
    <copy todir="." overwrite="true">
      <fileset dir="${basedir}/dev-tools/maven"/>
      <filterset begintoken="@" endtoken="@">
        <filter token="version" value="${version}"/>
      </filterset>
      <globmapper from="*.template" to="*"/>
    </copy>
  </target>

  <target name="generate-maven-artifacts"
          description="Generate Maven Artifacts for Lucene and Solr">
    <property name="maven.dist.dir"  location="dist/maven" />
    <mkdir dir="${maven.dist.dir}" />

    <sequential>
      <ant dir="lucene" target="filter-pom-templates"/>
      <subant target="generate-maven-artifacts" inheritall="false" failonerror="true">
        <property name="maven.dist.dir"  location="${maven.dist.dir}" />
        <property name="filtered.pom.templates.uptodate" value="true"/>
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant>
    </sequential>
  </target>

  <target name="eclipse" description="Setup Eclipse configuration" depends="resolve">
    <copy file="dev-tools/eclipse/dot.project" tofile=".project" overwrite="false"/>
    <copy file="dev-tools/eclipse/dot.classpath" tofile=".classpath" overwrite="true"/>
    <mkdir dir=".settings"/>
    <copy todir=".settings/" overwrite="true">
      <fileset dir="dev-tools/eclipse/dot.settings" includes="*.prefs" />
    </copy>
    <echo>
      SUCCESS: You must right-click your project and choose Refresh.
               Your project must use a Java 6 JRE.
    </echo>
  </target>

  <target name="idea" description="Setup IntelliJ IDEA configuration" depends="resolve">
    <copy todir=".">
      <fileset dir="dev-tools/idea"/>
    </copy>
    <echo>
      To complete IntelliJ IDEA setup, you must manually configure
      File | Project Structure | Project | Project SDK.
    </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"/>
      <fileset dir="modules" includes="**/*.iml"/>
    </delete>
  </target>

  <target name="clean" description="Clean Lucene and Solr">
    <delete dir="dist" />
    <sequential>
      <subant target="clean" inheritall="false" failonerror="true">
        <fileset dir="lucene" includes="build.xml" />
        <fileset dir="modules" includes="build.xml" />
        <fileset dir="solr" includes="build.xml" />
      </subant>
      <delete dir="dist" failonerror="false" />
    </sequential>
  </target>

  <!-- TODO: in the future, we don't need to actually put
       jars in the lib/ folders, but can just put in classpath.
       only packaging tasks really need that (and could do it
       under build/ directories) -->
  <target name="clean-jars" description="Clean local jars">
     <delete>
       <fileset dir="." includes="**/*.jar"/>
     </delete>
  </target>

  <target name="ivy-bootstrap" description="Download and install Ivy in the users ant lib dir">
    <subant target="ivy-bootstrap" inheritall="false" failonerror="true">
      <fileset dir="lucene" includes="build.xml" />
    </subant>
  </target>

</project>
