<project name="testng" default="dev" basedir=".">
  
  <!-- ====================================================================== -->
  <!-- TestNG build file                                                      -->
  <!-- Created cbeust, April 26th, 2004                                       -->
  <!-- ====================================================================== -->

  <property file="build.properties" />
  <property name="optimize" value="false" />
  <property name="build.compiler" value="javac1.5" />

  <!-- ====================================================================== -->
  <!-- PREPARE                                                                -->
  <!-- ====================================================================== -->
  <target name="prepare"
          description="Performs all preparations required to build.">
    <tstamp />
    <mkdir dir="${build.jdk14.dir}" />
    <mkdir dir="${build.jdk15.dir}" />
  </target>

  <!-- ====================================================================== -->
  <!-- DUMP                                                                   -->
  <!-- ====================================================================== -->
  <target name="dump" description="Dumps all properties." depends="prepare">
    <echoproperties />
  </target>

  <!-- ====================================================================== -->
  <!-- VALIDATE                                                               -->
  <!-- ====================================================================== -->

  <target name="validate" description="Validates the build environment.">
    <!-- java 1.5 required to build -->
    <condition property="requiredJavaVersion">
      <equals arg1="${ant.java.version}" arg2="1.5" />
    </condition>
    <fail unless="requiredJavaVersion"
          message="Java version 1.5 required." />
    <!-- validate ant version too ... -->
  </target>

  <!-- ==================================================================== -->
  <!-- COPY-RESOURCES                                                       -->
  <!-- ==================================================================== -->

  <target name="copy-resources" description="Copies resources.">
    <copy verbose="false"
          file="src/main/testng-1.0.dtd"
          todir="${build.jdk15.dir}" />
    <copy verbose="false"
          file="src/main/testng-1.0.dtd"
          todir="${build.jdk14.dir}" />
    <copy verbose="false"
          file="src/testngtasks"
          todir="${build.jdk15.dir}" />
    <copy verbose="false"
          file="src/testngtasks"
          todir="${build.jdk14.dir}" />
    <copy todir="${build.jdk15.dir}">
      <fileset dir="./resources">
        <exclude name="**/.*" />
        <exclude name="**/CVS/*" />
      </fileset>
    </copy>
    <copy todir="${build.jdk14.dir}">
      <fileset dir="./resources">
        <exclude name="**/.*" />
        <exclude name="**/CVS/*" />
      </fileset>
    </copy>
  </target>


  <target name="dev"
          depends="prepare,validate,copy-resources,build,dist-jar,test-15,test-15-jdk14,test-14,test-ant" />

  <target name="all"
          depends="prepare,validate,copy-resources,build,dist-jar,test-15,test-15-jdk14,test-14,test-ant,javadocs,dist" />

  <target name="build" depends="compile-14,compile-15,dist-jar" />

  <target name="single">
    <ant antfile="test/build.xml" target="run:single"/>
  </target>

  <target name="single-14">
    <ant antfile="test-14/build.xml" target="run:single"/>
  </target>

  <!-- ==================================================================== -->
  <!-- Compile                                                              -->
  <!-- ==================================================================== -->

  <target name="compile-14"
          depends="prepare,copy-resources"
          description="Compiles source for 1.4">
    <echo message="                                 -- Compiling 1.4 sources --" />
    <path id="compile.cp">
      <fileset dir="${lib.dir}">
        <include name="${beanshell.jar}" />
        <include name="junit.jar" />
        <include name="${qdox.jar}" />
      	<include name="${concurrent.jar}" />
      </fileset>
    </path>

    <javac classpathref="compile.cp"
           target="jsr14"
           debug="true"
           optimize="${optimize}"
           destdir="${build.jdk14.dir}">
      <src path="${src.dir}/main" />
      <src path="${src.dir}/jdk14" />
    </javac>

  </target>

  <target name="compile-15"
          depends="prepare,copy-resources"
          description="Compiles source for 15">
    <echo message="                                 -- Compiling 1.5 sources --" />

    <path id="compile2.cp">
      <fileset dir="${lib.dir}">
        <include name="junit.jar" />
        <include name="${qdox.jar}" />
        <include name="${beanshell.jar}" />
      </fileset>
    </path>

    <javac classpathref="compile2.cp"
           verbose="false"
           target="1.5"
           debug="true"
           optimize="${optimize}"
           destdir="${build.jdk15.dir}">
      <src path="${src.dir}/main" />
      <src path="${src.dir}/jdk15" />
    </javac>
  </target>

  <target name="compile:all" depends="compile-14,compile-15" />

  <target name="examples">
    <ant inheritall="no" antfile="examples/build.xml" />
  </target>

  <target name="test-15" depends="compile-15" description="runs all JDK5 tests with JDK5 distro">
  	<ant inheritall="no" antfile="test/build.xml" />
  	<ant inheritall="no" antfile="test/v4/build.xml" />
  </target>
	
  <target name="test-15-jdk14" depends="compile-15,compile-14" description="runs javadoc-tests with JDK5 distro">
		<ant inheritall="no" antfile="test-14/build.xml" target="compile" />
		<ant inheritall="no" antfile="test/build.xml" target="run-jdk14" />
		<ant inheritall="no" antfile="test-14/v4/build.xml" target="compile" />
    <ant inheritall="no" antfile="test/v4/build.xml" target="run-jdk14" />
  </target>
	
  <target name="test-14" depends="compile-14" description="runs javadoc-based tests with JDK1.4 distro">
    <ant inheritall="no" antfile="test-14/build.xml" />
    <ant inheritall="no" antfile="test-14/v4/build.xml" />
  </target>

	<!--
  <target name="tmp">
    <ant inheritall="no" antfile="test/v4/build.xml" target="run-jdk14" />
  </target>
  -->

  <target name="test-ant">
    <echo message="                                 -- Testing ant testng task functionality --" />
  	<ant inheritall="no" antfile="test/ant/build.xml" />
  </target>

  <!-- ==================================================================== -->
  <!-- Documentation                                                        -->
  <!-- ==================================================================== -->

  <target name="javadocs">
    <javadoc destdir="javadocs" source="1.5" windowtitle="TestNG">
      <fileset dir="${src.dir}/main" defaultexcludes="yes">
        <include name="org/testng/*.java" />
      </fileset>
      <fileset dir="${src.dir}/main" defaultexcludes="yes">
        <include name="org/testng/xml/Xml*.java" />
      </fileset>
      <fileset dir="${src.dir}/jdk15" defaultexcludes="yes">
        <include name="org/testng/annotations/**" />
      </fileset>
    </javadoc>
  </target>

  <!-- ==================================================================== -->
  <!-- Distribution                                                         -->
  <!-- ==================================================================== -->

  <target name="dist" depends="maven-plugin,dist-all-zip,eclipse" />

  <target name="dist-jar" depends="dist-14,dist-15" />

  <target name="dist-14" depends="compile-14,dist-14-bsh" >
   </target>

  <target name="dist-14-bsh">
    <antcall target="clean-unjar" />
    <antcall target="extract-qdox-jar" />
    <antcall target="extract-beanshell-jar" />
    <antcall target="extract-concurrent-jar" />
    <delete quiet="true" file="${jdk14.testng.jar}" />
    <jar destfile="${jdk14.testng.jar}" update="true">
      <manifest>
        <attribute name="Main-Class" value="org.testng.TestNG" />
      </manifest>
      <fileset dir="${build.3rdparty.dir}" />
      <fileset dir="${build.jdk14.dir}" />
    </jar>
  </target>
  
  <target name="dist-14-nobsh">
    <antcall target="clean-unjar" />
    <antcall target="extract-concurrent-jar" />
    <jar destfile="${other.jars.dir}/${jdk14.testng.nobsh.jar}" update="true">
      <manifest>
        <attribute name="Main-Class" value="org.testng.TestNG" />
      </manifest>
      <fileset dir="${build.3rdparty.dir}" />
      <fileset dir="${build.jdk14.dir}" />
    </jar>
  </target>

  <target name="clean-unjar">
    <delete quiet="true" dir="${build.3rdparty.dir}" includeemptydirs="true" />
    <mkdir dir="${build.3rdparty.dir}" />
  </target>

  <target name="extract-beanshell-jar">
    <unjar src="3rdparty/${beanshell.jar}"
           dest="${build.3rdparty.dir}"
           overwrite="true" />
  </target>

  <target name="extract-qdox-jar">
    <unjar src="3rdparty/${qdox.jar}"
           dest="${build.3rdparty.dir}"
           overwrite="true" />
  </target>

  <target name="extract-concurrent-jar">
    <unjar src="3rdparty/${concurrent.jar}"
           dest="${build.3rdparty.dir}"
           overwrite="true" />
  </target>

  <target name="dist-15" depends="compile-15, dist-15-bsh">
  </target>
    
  <target name="dist-15-bsh">
    <antcall target="clean-unjar" />
    <antcall target="extract-qdox-jar" />
    <antcall target="extract-beanshell-jar" />
    <delete file="${jdk15.testng.jar}" />
    <jar destfile="${jdk15.testng.jar}">
      <manifest>
        <attribute name="Main-Class" value="org.testng.TestNG" />
      </manifest>
      <fileset dir="${build.jdk15.dir}" />
      <fileset dir="${build.3rdparty.dir}" />
    </jar>
  </target>
  
  <target name="dist-15-nobsh">
    <antcall target="clean-unjar" />
    <antcall target="extract-qdox-jar" />
    <jar destfile="${other.jars.dir}/${jdk15.testng.nobsh.jar}" update="true">
      <manifest>
        <attribute name="Main-Class" value="org.testng.TestNG" />
      </manifest>
      <fileset dir="${build.jdk15.dir}" />
      <fileset dir="${build.3rdparty.dir}" />
    </jar>
  </target>

  <target name="dist-all-zip" depends="dist-prepare,dist-jar,javadocs">
    <zip zipfile="${testng.zip}">
      <zipfileset dir="${basedir}" includesfile="FILES" />
      <zipfileset dir="${basedir}">
        <include name="${jdk14.testng.jar}" />
        <include name="${jdk15.testng.jar}" />
      </zipfileset>
      <zipfileset dir="${other.jars.dir}" prefix="${other.jars.dir}"/>
      <zipfileset dir="javadocs" prefix="javadocs" />
      <zipfileset dir="src" prefix="src" />
      <zipfileset dir="doc" prefix="doc" />
    	<zipfileset dir="resources"
    							prefix="resources" 
    							includes="**/*.css"/>
      <zipfileset dir="test"
                  prefix="test"
                  includes="**/*.properties,**/*.java,build.xml,testng.xml"
                  excludes="test-output/**,report/**,v4/**" />
      <zipfileset dir="test-14"
                  prefix="test-14"
                  includes="**/*.properties,**/*.java,build.xml,testng.xml"
                  excludes="test-output/**,report/**,v4/**" />
      <zipfileset dir="3rdparty"
                  prefix="3rdparty"
                  includes="${qdox.jar},${beanshell.jar},${concurrent.jar}" />
    </zip>
  </target>
  
  <target name="dist-prepare">
    <delete quiet="true" file="${other.jars.dir}/${jdk14.testng.nobsh.jar}" />
    <mkdir dir="${other.jars.dir}" />
    <delete file="{other.jars.dir}/${jdk15.testng.nobsh.jar}" />
    <mkdir dir="${other.jars.dir}" />
  </target>

  <target name="eclipse">
    <property name="jdk14.jar"
              value="${testng-eclipse.dir}/plugin/lib/testng-jdk14.jar" />
    <property name="jdk15.jar"
              value="${testng-eclipse.dir}/plugin/lib/testng-jdk15.jar" />

    <delete file="${jdk14.jar}" />
    <delete file="${jdk15.jar}" />
    <copy file="${jdk14.testng.jar}" tofile="${jdk14.jar}" />
    <copy file="${jdk15.testng.jar}" tofile="${jdk15.jar}" />
  </target>

  <target name="ftp">
    <!--
          <ftp action="put"
             server="beust.com"
             remotedir="w/testng/test-output"
             userid="cedric"
             password="${password}">
              <fileset dir="c:\weblogic\dev\sandbox\cbeust\testng\test\test-output">
                <include name="index.html" />
                <include name="main.html" />
                <include name="toc.html" />
                <include name="*egression*" />
             </fileset>
        </ftp>
      -->
    <ftp action="put"
         server="beust.com"
         remotedir="w/testng"
         userid="cedric"
         password="${password}">
      <fileset dir="${root.dir}">
        <include name="${testng.zip}" />
        <include name="javadocs/**" />
        <include name="testng-1.0.dtd" />
      </fileset>
      <fileset dir="${root.dir}/doc">
        <include name="*.html" />
      </fileset>
    </ftp>

  </target>

  <target name="ftp2">
    <ftp action="put"
         server="beust.com"
         remotedir="w/testng"
         userid="cedric"
         password="${password}">
      <fileset dir="${root.dir}/test">
        <include name="test-output/*" />
      </fileset>
      <fileset dir="${root.dir}/test">
        <include name="test-report/*" />
      </fileset>
    </ftp>
  </target>

  <target name="clean">
    <delete failonerror="false">
      <fileset dir="${build.jdk14.dir}" includes="**/*" />
      <fileset dir="${build.jdk15.dir}" includes="**/*" />
      <fileset dir="." includes="*.jar,*.zip" />
    </delete>
    <ant antfile="test/build.xml" target="clean" />
    <ant antfile="test/v4/build.xml" target="clean" />
    <ant antfile="test-14/build.xml" target="clean" />
    <ant antfile="test-14/v4/build.xml" target="clean" />
    <ant dir="examples" target="clean" />
  </target>

  <!-- ==================================================================== -->
  <!-- Maven1/2 Distribution                                                -->
  <!-- ==================================================================== -->

  <target name="maven-plugin">
    <jar destfile="maven-testng-plugin-${testng-maven.version}.jar"
         basedir="./maven/" />
  </target>
  
</project>
