|
|
@@ -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.tearDown"> |
|
|
|
<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> |