123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- <project name="junit" default="dist" basedir="."
- xmlns:artifact="antlib:org.apache.maven.artifact.ant">
- <tstamp />
- <taskdef resource="net/sf/antcontrib/antcontrib.properties"/>
- <property file="${user.home}/.junit.properties" />
- <property name="src" value="src/main/java" />
- <property name="srcresources" location="src/main/resources" />
- <property name="target" location="target" />
- <property name="bin" location="${target}/main" />
- <property name="version-base" value="4.12" />
- <property name="version" value="${version-base}" />
- <property name="dist" value="junit${version}" />
- <property name="versionfile" value="${src}/junit/runner/Version.java" />
- <property name="testsrc" location="src/test/java" />
- <property name="testsresources" location="src/test/resources" />
- <property name="testbin" location="${target}/test/java" />
- <property name="unjarred"
- value="**/*.jar, ${testfiles}, doc/**, README.html, .classpath, .project, cpl-v10.html" />
- <property name="binjar" value="junit-${version}.jar" />
- <property name="srcjar" value="junit-${version}-sources.jar" />
- <property name="javadocdir" location="${dist}/javadoc" />
- <property name="hamcrestlib" location="lib/hamcrest-core-1.3.jar" />
- <target name="init">
- <tstamp/>
- </target>
- <target name="versiontag" depends="init">
- <filter token="version" value="${version}" />
-
- <copy
- file="${versionfile}.template"
- tofile="${versionfile}"
- filtering="on"
- overwrite="true"
- />
- </target>
- <target name="clean">
- <!-- If two builds are made within a minute -->
- <delete dir="${dist}" quiet="true" />
- <!-- Delete all previous temporary build artifacts -->
- <delete dir="${target}" quiet="true" />
- </target>
- <macrodef name="junit_compilation">
- <attribute name="srcdir"/>
- <attribute name="destdir"/>
- <attribute name="classpath"/>
- <sequential>
- <mkdir dir="@{destdir}"/>
- <javac
- srcdir="@{srcdir}"
- destdir="@{destdir}"
- debug="on"
- classpath="@{classpath}"
- includeantruntime="false"
- source="1.5"
- target="1.5"
- >
- <compilerarg value="-Xlint:unchecked" />
- </javac>
- </sequential>
- </macrodef>
-
- <target name="build" depends="versiontag">
- <junit_compilation srcdir="${src}" destdir="${bin}" classpath="${hamcrestlib}"/>
- <junit_compilation srcdir="${testsrc}" destdir="${testbin}" classpath="${hamcrestlib};${bin}"/>
- </target>
- <target name="jars" depends="build">
- <mkdir dir="${dist}" />
- <jar
- jarfile="${dist}/${srcjar}"
- basedir="${src}"
- excludes="${unjarred}, **/*.class"
- />
- <jar
- jarfile="${dist}/${binjar}"
- basedir="${bin}"
- excludes="${unjarred}, **/*.java, build.xml"
- />
- </target>
- <target name="samples-and-tests">
- <copy todir="${dist}">
- <fileset dir="${testbin}" />
- <fileset dir="${testsrc}" />
- </copy>
- </target>
-
- <target name="javadoc">
- <javadoc destdir="${javadocdir}"
- author="false"
- version="false"
- use="false"
- windowtitle="JUnit API"
- stylesheetfile="src/main/javadoc/stylesheet.css"
- >
- <excludepackage name="junit.*" />
- <excludepackage name="org.junit.internal.*" />
- <excludepackage name="org.junit.experimental.theories.internal.*" />
-
- <sourcepath location="${src}" />
- <link href="http://docs.oracle.com/javase/1.5.0/docs/api/" />
- <classpath>
- <pathelement location="${hamcrestlib}" />
- </classpath>
- </javadoc>
- </target>
- <target name="populate-dist"
- depends="clean, build, jars, samples-and-tests, javadoc"
- >
- <copy todir="${dist}/doc">
- <fileset dir="doc"/>
- </copy>
- <copy file="README.md" tofile="${dist}/README.md" />
- <copy file="BUILDING" tofile="${dist}/BUILDING" />
- <copy file="epl-v10.html" tofile="${dist}/epl-v10.html" />
- <copy file="build.xml" tofile="${dist}/build.xml" />
- </target>
- <macrodef name="run-dist-tests">
- <!-- Runs the tests against the built jar files -->
- <element name="extra-args" implicit="yes" />
- <sequential>
- <java classname="org.junit.runner.JUnitCore" fork="yes" failonerror="true">
- <extra-args />
- <arg value="org.junit.tests.AllTests"/>
- <classpath>
- <pathelement location="${dist}" />
- <pathelement location="${dist}/${binjar}" />
- <pathelement location="${hamcrestlib}" />
- <pathelement location="${testsresources}" />
- </classpath>
- </java>
- </sequential>
- </macrodef>
- <macrodef name="run-local-tests">
- <!-- Runs the tests against the local class files -->
- <sequential>
- <java classname="org.junit.runner.JUnitCore" fork="yes" failonerror="true">
- <arg value="org.junit.tests.AllTests"/>
- <classpath>
- <pathelement location="${bin}" />
- <pathelement location="${testbin}" />
- <pathelement location="${hamcrestlib}" />
- <pathelement location="${testsresources}" />
- </classpath>
- </java>
- </sequential>
- </macrodef>
- <target name="test" depends="build">
- <run-local-tests />
- </target>
- <target name="dist" depends="populate-dist">
- <run-dist-tests>
- <jvmarg value="-Dignore.this=ignored"/>
- </run-dist-tests>
- </target>
- <target name="profile" depends="populate-dist">
- <run-dist-tests>
- <jvmarg value="-agentlib:hprof=cpu=samples"/>
- </run-dist-tests>
- </target>
- </project>
|