<project name="osgi-test" default="testAll">
<!--
This build file is usually run indirectly via Maven.
When running this build file through Ant directly, you must
define the currentVersion property on the command line, e.g.:
ant -DcurrentVersion=1.5.4-SNAPSHOT
-->
<echo message="compile classpath: ${currentVersion}" />
<echo message="test classpath: ${test_classpath}" />
<echo message="basedir: ${basedir}" />
<property name="iBundleJar" value="target/iBundle.jar"/>
<property name="bundlesDir" value="bundle"/>
<!-- this is really very ugly, but it's the only way to circumvent
http://jira.codehaus.org/browse/MANTRUN-95
-->
<taskdef name="junit" classpath="${test_classpath}"
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask" />
<path id="minimal">
<pathelement location="target/test-classes/" />
</path >
<target name="init">
<mkdir dir="target/unit-reports" />
</target>
<target name="createIBundle">
<mkdir dir="${bundlesDir}"/>
<jar destFile="${iBundleJar}"
manifest="src/IBUNDLE-META-INF/MANIFEST.MF"
basedir="target/test-classes/"
includes="integrator/**.class"/>
</target>
<target name="testAll" depends="init, createIBundle, nop, simple, jdk14">
</target>
<macrodef name="prepareOSGiHarness">
<attribute name="binding"/>
<sequential>
<delete>
<fileset dir="${bundlesDir}" includes="*.jar"/>
</delete>
<copy file="${iBundleJar}" todir="${bundlesDir}"/>
<copy file="../slf4j-api/target/slf4j-api-${currentVersion}.jar" todir="${bundlesDir}"/>
<copy file="../slf4j-@{binding}/target/slf4j-@{binding}-${currentVersion}.jar" todir="${bundlesDir}"/>
<echo>value of t = @{t}</echo>
</sequential>
</macrodef>
<!-- for some reason if mvn is invoked from the parent directory, junit gets
invoked from the parent dir, which messes up theses tests. Hence, the
fork="yes" dir="${basedir}" -->
<target name="nop">
<prepareOSGiHarness binding="nop"/>
<junit printsummary="yes" fork="yes" dir="${basedir}" haltonfailure="yes">
<classpath path="${test_classpath}"/>
<formatter type="plain" />
<test fork="yes" todir="target/unit-reports" name="org.slf4j.test_osgi.BundleTest" />
</junit>
</target>
<target name="simple">
<prepareOSGiHarness binding="simple"/>
<junit printsummary="yes" fork="yes" dir="${basedir}" haltonfailure="yes">
<classpath path="${test_classpath}"/>
<formatter type="plain" />
<test fork="yes" todir="target/unit-reports" name="org.slf4j.test_osgi.BundleTest" />
</junit>
</target>
<target name="jdk14">
<prepareOSGiHarness binding="jdk14"/>
<junit printsummary="yes" fork="yes" dir="${basedir}" haltonfailure="yes">
<classpath path="${test_classpath}"/>
<formatter type="plain" />
<test fork="yes" todir="target/unit-reports" name="org.slf4j.test_osgi.BundleTest" />
</junit>
</target>
</project>