Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

467 lines (401 sloc) 17.446 kb
<project name="testng" default="dev" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
<!-- ====================================================================== -->
<!-- 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" depends="retrieve-dependencies"
description="Performs all preparations required to build.">
<tstamp />
<mkdir dir="${build.dir}" />
<mkdir dir="${other.jars.dir}" />
</target>
<!-- ====================================================================== -->
<!-- DUMP -->
<!-- ====================================================================== -->
<target name="dump" description="Dumps all properties." depends="prepare">
<echoproperties />
</target>
<!-- ====================================================================== -->
<!-- VALIDATE -->
<!-- ====================================================================== -->
<target name="validate" description="Validates the build environment.">
<!-- java greater than 1.5 required to build -->
<condition property="requiredJavaVersion">
<or>
<equals arg1="${ant.java.version}" arg2="1.5" />
<equals arg1="${ant.java.version}" arg2="1.6" />
</or>
</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.resources.dir}/testngtasks"
todir="${build.dir}" />
<copy todir="${build.dir}">
<fileset dir="${src.resources.dir}">
<exclude name="**/.*" />
<exclude name="**/CVS/*" />
</fileset>
</copy>
</target>
<target name="dev"
depends="prepare,validate,copy-resources,build,tests" />
<target name="all"
depends="prepare,validate,copy-resources,build,dist,tests,test-ant,javadocs,dist" />
<target name="build" depends="prepare,compile,testng-jar-all" />
<target name="testng-jar-all">
<antcall target="create-jar">
<param name="jar.file" value="${testng.jar}" />
</antcall>
<jar jarfile="${testng.jar}" update="true">
<zipfileset src="${lib.dir}/${beanshell.jar}" />
<zipfileset src="${lib.dir}/${jcommander.jar}" />
<zipfileset src="${lib.dir}/${yaml.jar}" />
</jar>
</target>
<target name="single">
<ant antfile="build-tests.xml" target="run:single"/>
</target>
<!-- ==================================================================== -->
<!-- Compile -->
<!-- ==================================================================== -->
<path id="compile2.cp">
<fileset dir="${lib.dir}" includes="${all.jar.files}" />
</path>
<target name="compile"
depends="prepare,copy-resources"
description="Compiles sources">
<echo message=" -- Compiling sources --" />
<echo>Src:${src.dir}</echo>
<javac classpathref="compile2.cp"
verbose="false"
target="1.5"
debug="true"
optimize="${optimize}"
destdir="${build.dir}">
<src path="${src.dir}" />
</javac>
</target>
<target name="compile:all" depends="compile" />
<target name="examples">
<ant inheritall="no" antfile="examples/build.xml" />
</target>
<target name="tests" depends="compile" description="runs all JDK5 tests with JDK5 distro">
<ant inheritall="no" antfile="build-tests.xml" />
</target>
<target name="test-ant">
<echo message=" -- Testing ant testng task functionality --" />
<ant inheritall="no" antfile="build-ant.xml" />
</target>
<!-- ==================================================================== -->
<!-- Documentation -->
<!-- ==================================================================== -->
<target name="javadocs" depends="javadocs-current" />
<target name="doclava">
<javadoc
docletpath="3rdparty/doclava-1.0.3.jar"
bootclasspath="${javahome}/jre/lib/rt.jar"
classpath="${testng.jar}:lib/${ant.jar}:lib/${guice2.jar}:lib/aopalliance-1.0.jar"
maxmemory="2048M"
additionalparam="-quiet"
verbose="false"
destdir="javadocs"
>
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="org/testng/*.java" />
</fileset>
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="org/testng/xml/Xml*.java" />
</fileset>
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="org/testng/annotations/**" />
</fileset>
<doclet name="com.google.doclava.Doclava">
<param name="-stubs" value="build/stubs" />
<param name="-hdf"/>
<param name="project.name" value="TestNG" />
<!-- versioning -->
<param name="-since"/>
<param name="doclava/previous.xml"/>
<param name="v1" />
<param name="-apiversion" value="v2"/>
<!-- federation -->
<param name="-federate" />
<param name="JDK"/>
<param name="http://download.oracle.com/javase/6/docs/api/index.html?"/>
<param name="-federationxml"/><param name="JDK"/>
<param name="http://doclava.googlecode.com/svn/static/api/openjdk-6.xml"/>
</doclet>
</javadoc>
</target>
<target name="javadocs-current">
<javadoc additionalparam="-quiet" destdir="javadocs" source="1.5" windowtitle="TestNG"
classpath="${testng.jar}" classpathref="compile2.cp" verbose="false">
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="org/testng/*.java" />
</fileset>
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="org/testng/xml/Xml*.java" />
</fileset>
<fileset dir="${src.dir}" defaultexcludes="yes">
<include name="org/testng/annotations/**" />
</fileset>
</javadoc>
</target>
<!-- ==================================================================== -->
<!-- Distribution -->
<!-- ==================================================================== -->
<target name="dist" depends="build,all-jar-flavors,dist-all-zip,eclipse" />
<target name="all-jar-flavors" depends="dist-junit,dist-nobsh-guice,dist-bsh-noguice,dist-nobsh-noguice,dist-testng-dist,dist-testng-javadoc" />
<target name="dist-junit">
<antcall target="create-jar">
<param name="jar.file" value="${other.jars.dir}/${testng.junit.jar}" />
</antcall>
<jar jarfile="${other.jars.dir}/${testng.junit.jar}" update="true">
<zipfileset src="${lib.dir}/${beanshell.jar}" />
<zipfileset src="${lib.dir}/${jcommander.jar}" />
<zipfileset src="${lib.dir}/${junit.jar}" />
<zipfileset src="${lib.dir}/${yaml.jar}" />
</jar>
</target>
<target name="dist-nobsh-guice">
<antcall target="create-jar">
<param name="jar.file" value="${other.jars.dir}/${testng.nobsh.guice.jar}" />
</antcall>
<jar jarfile="${other.jars.dir}/${testng.nobsh.guice.jar}" update="true">
<zipfileset src="${lib.dir}/${guice2.jar}" />
<zipfileset src="${lib.dir}/${jcommander.jar}" />
<zipfileset src="${lib.dir}/${junit.jar}" />
</jar>
</target>
<target name="dist-bsh-noguice">
<antcall target="create-jar">
<param name="jar.file" value="${other.jars.dir}/${testng.bsh.noguice.jar}" />
</antcall>
<jar jarfile="${other.jars.dir}/${testng.bsh.noguice.jar}" update="true">
<zipfileset src="${lib.dir}/${beanshell.jar}" />
<zipfileset src="${lib.dir}/${jcommander.jar}" />
<zipfileset src="${lib.dir}/${junit.jar}" />
</jar>
</target>
<target name="dist-nobsh-noguice">
<antcall target="create-jar">
<param name="jar.file" value="${other.jars.dir}/${testng.nobsh.noguice.jar}" />
</antcall>
<jar jarfile="${other.jars.dir}/${testng.bsh.noguice.jar}" update="true">
<zipfileset src="${lib.dir}/${jcommander.jar}" />
<zipfileset src="${lib.dir}/${junit.jar}" />
</jar>
</target>
<target name="dist-testng-dist">
<antcall target="create-jar">
<param name="jar.file" value="${other.jars.dir}/${testng.dist.jar}" />
</antcall>
<jar jarfile="${other.jars.dir}/${testng.dist.jar}" update="true">
<zipfileset src="${lib.dir}/${jcommander.jar}" />
</jar>
</target>
<target name="dist-testng-javadoc" depends="javadocs">
<zip destfile="${other.jars.dir}/${testng.javadoc.zip}">
<fileset dir="javadocs"/>
</zip>
</target>
<target name="create-jar" description="Create a jar file with the Testng classes and nothing else" >
<delete file="${jar.file}" />
<jar destfile="${jar.file}" >
<manifest>
<attribute name="Main-Class" value="org.testng.TestNG" />
<attribute name="Implementation-Version" value="${testng.version}-${DSTAMP}${TSTAMP}" />
</manifest>
<fileset dir="${build.dir}" />
<fileset file="TESTNG-${testng.version}" />
</jar>
</target>
<target name="dist-all-zip" depends="dist-prepare,javadocs">
<property name="zip.dir" value="testng-${testng.version}" />
<echo>Adding ${testng.fullname}</echo>
<zip zipfile="${testng.zip}">
<zipfileset prefix="${zip.dir}" dir="${target}">
<include name="${testng.fullname}.jar" />
</zipfileset>
<zipfileset prefix="${zip.dir}" dir="${basedir}" includesfile="FILES" />
<zipfileset dir="${other.jars.dir}" prefix="${zip.dir}/other-jars"/>
<zipfileset dir="javadocs" prefix="${zip.dir}/javadocs" />
<zipfileset dir="src" prefix="${zip.dir}/src" />
<zipfileset dir="spring" prefix="${zip.dir}/spring" />
<zipfileset dir="doc" prefix="${zip.dir}/doc" />
<zipfileset dir="${src.resources.dir}"
prefix="${zip.dir}/resources"
includes="**/*.css"/>
</zip>
</target>
<!--
<target name="dist-maven-bundle" depends="dist-all-zip">
<mkdir dir="${build.maven-bundle.dir}" />
<copy file="bundle-pom.xml" tofile="${build.maven-bundle.dir}/pom.xml" overwrite="true">
<filterchain>
<expandproperties/>
</filterchain>
</copy>
<jar destfile="${build.maven-bundle.dir}/${sources.testng.jar}">
<fileset dir="${src.dir}" />
</jar>
<exec executable="gpg">
<arg value="- -yes" />
<arg value="-ab" />
<arg value="${testng.jar}" />
</exec>
<exec executable="gpg">
<arg value="- -yes" />
<arg value="-ab" />
<arg value="${build.maven-bundle.dir}/pom.xml" />
</exec>
<exec executable="gpg">
<arg value="- -yes" />
<arg value="-ab" />
<arg value="${build.maven-bundle.dir}/${sources.testng.jar}" />
</exec>
<jar destfile="${testng.maven-bundle}">
<fileset file="${build.maven-bundle.dir}/pom.xml" />
<fileset file="${build.maven-bundle.dir}/${sources.testng.jar}" />
<fileset file="${build.maven-bundle.dir}/*asc" />
<fileset file="${testng.jar}" />
<fileset file="${testng.jar}.asc" />
</jar>
</target>
-->
<target name="dist-prepare" depends="update-readme">
<delete file="{other.jars.dir}/${testng.nobsh.jar}" />
<mkdir dir="${other.jars.dir}" />
</target>
<target name="update-readme">
<copy file="README.template" tofile="README" />
<replace file="README" token="${version}" value="${testng.version}" />
<touch file="TESTNG-${testng.version}" />
</target>
<target name="eclipse" description="Used by Cedric to build distributions">
<property name="jdk15.jar"
value="${testng-eclipse.dir}/lib/testng.jar" />
<delete file="${jdk15.jar}" />
<copy file="${testng.jar}" tofile="${jdk15.jar}" />
<!-- sources -->
<property name="sources" value="${testng-eclipse.dir}/lib/testng-sources.jar"/>
<echo>Sources: ${sources}</echo>
<jar destfile="${sources}" basedir="src/main/java/" />
</target>
<target name="ftp">
<!--
<ftp action="put"
server="beust.com"
remotedir="w/testng/test-output"
userid="${userid}"
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="${userid}"
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="${userid}"
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 dir="${build.dir}" />
<delete dir="${target}" />
<delete dir="${build.maven-bundle.dir}" />
<delete failonerror="false">
<fileset dir="." includes="testng*.jar,*.zip" />
</delete>
<delete dir="test-output" failonerror="false" />
<delete dir="test-output-tests" failonerror="false" />
<ant antfile="build-tests.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>
-->
<!-- ==================================================================== -->
<!-- Ivy -->
<!-- ==================================================================== -->
<target name="retrieve-dependencies" description="Retrieve dependencies with ivy">
<ivy:retrieve log="quiet" />
</target>
<target name="publish">
<ivy:resolve />
<mkdir dir="dist/jars" />
<copy file="${testng.jar}" todir="dist/jars" />
<ivy:publish organisation="org.testng" resolver="local" overwrite="true"/>
</target>
<target name="pom">
<ivy:makepom ivyfile="ivy.xml" pomfile="ivy-pom.xml" />
</target>
<!-- ==================================================================== -->
<!-- Code coverage -->
<!-- ==================================================================== -->
<!--
<property name="cobertura.dir" value="../cobertura-1.9.4.1" />
<path id="cobertura.classpath">
<fileset dir="${cobertura.dir}">
<include name="cobertura.jar" />
<include name="lib/**/*.jar" />
</fileset>
</path>
<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />
<target name="coverage:create">
<cobertura-instrument classpath="cobertura-1.9.4.1/lib/*" todir="target/instrumented-classes">
<fileset dir="${build.dir}">
<include name="**/*.class" />
</fileset>
</cobertura-instrument>
</target>
<target name="coverage">
<cobertura-report srcdir="${src.dir}" destdir="target/coverage-report"/>
</target>
-->
</project>
Jump to Line
Something went wrong with that request. Please try again.