@@ -15,7 +15,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
<project basedir=".">
<project default="antunit" xmlns:au="antlib:org.apache.ant.antunit">
<import file="../antunit-base.xml" />
<!-- apt tests -->
<property name="build.dir" location="aptbuild" />
@@ -39,21 +40,29 @@
</sequential>
</macrodef>
<macrodef name="assertProcessed">
<sequential>
<au:assertLogContains text="DistributedAnnotationProcessor-is-go"/>
<au:assertLogContains text="[-Abuild.dir="/>
<au:assertLogContains text="visiting DistributedAnnotationFactory"/>
</sequential>
</macrodef>
<presetdef name="assertAptExampleCompiled">
<assertCompiled file="${AptExample.class}"/>
</presetdef>
<target name="clean">
<target name="tearDown" depends="antunit-base.tearDow n">
<delete dir="${build.dir}"/>
</target>
<target name="init ">
<target name="setUp ">
<mkdir dir="${classes.dir}"/>
<mkdir dir="${classes2.dir}"/>
<mkdir dir="${preprocess.dir}"/>
</target>
<target name="testApt" depends="init ">
<target name="testApt" depends="setUp" unless="jdk1.8+ ">
<apt srcdir="${src}"
destdir="${classes.dir}"
debug="on"
@@ -63,7 +72,7 @@
<assertAptExampleCompiled />
</target>
<target name="testAptFork" depends="init ">
<target name="testAptFork" depends="setUp" unless="jdk1.8+ ">
<apt srcdir="${src}"
destdir="${classes.dir}"
debug="on"
@@ -74,7 +83,7 @@
<assertAptExampleCompiled />
</target>
<target name="testAptForkFalse" depends="init ">
<target name="testAptForkFalse" depends="setUp" unless="jdk1.8+ ">
<apt srcdir="${src}"
destdir="${classes.dir}"
debug="on"
@@ -83,9 +92,11 @@
preprocessdir="${preprocess.dir}">
</apt>
<assertAptExampleCompiled />
<au:assertLogContains text="Apt only runs in its own JVM; fork=false option ignored"/>
</target>
<target name="testListAnnotationTypes" depends="init ">
<target name="testListAnnotationTypes" depends="setUp" unless="jdk1.8+ ">
<apt srcdir="${src}"
destdir="${classes.dir}"
debug="on"
@@ -96,13 +107,15 @@
</apt>
<assertAptExampleCompiled />
<au:assertLogContains text="Set of annotations found:"/>
<au:assertLogContains text="Distributed"/>
</target>
<!-- use the factory we compiled. To avoid trouble
we deliver into a version in a new classpath, otherwise
the dependency logic will not run Apt-->
<target name="testAptNewFactory" depends="testApt">
<target name="testAptNewFactory" depends="testApt" unless="jdk1.8+" >
<apt srcdir="${src}"
destdir="${classes2.dir}"
debug="on"
@@ -113,9 +126,10 @@
<option name="build.dir" value="${build.dir}" />
</apt>
<assertAptExampleCompiled />
<assertProcessed />
</target>
<target name="testAptNewFactoryFork" depends="testApt">
<target name="testAptNewFactoryFork" depends="testApt" unless="jdk1.8+" >
<apt srcdir="${src}"
destdir="${classes2.dir}"
debug="on"
@@ -127,5 +141,18 @@
<option name="build.dir" value="${build.dir}" />
</apt>
<assertAptExampleCompiled />
<assertProcessed />
</target>
<target name="testAptUnderJDK18" if="jdk1.8+">
<au:expectfailure expectedMessage="apt does not exist under Java 1.8 and higher">
<apt srcdir="${src}"
destdir="${classes.dir}"
debug="on"
compile="true"
fork="true"
preprocessdir="${preprocess.dir}">
</apt>
</au:expectfailure>
</target>
</project>