| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <project basedir="."> |
| <!-- apt tests --> |
| |
| <property name="build.dir" location="aptbuild" /> |
| <property name="classes.dir" location="${build.dir}/classes" /> |
| <property name="classes2.dir" location="${build.dir}/classes2" /> |
| <property name="preprocess.dir" location="${build.dir}/source" /> |
| <property name="src" location="apt" /> |
| |
| <property name="AptExample.class" location="${classes.dir}/AptExample.class" /> |
| |
| <macrodef name="assertCompiled"> |
| <attribute name="file" /> |
| <sequential > |
| <fail message="not found: @{file}"> |
| <condition> |
| <not> |
| <available file="@{file}" /> |
| </not> |
| </condition> |
| </fail> |
| </sequential> |
| </macrodef> |
| |
| <presetdef name="assertAptExampleCompiled"> |
| <assertCompiled file="${AptExample.class}"/> |
| </presetdef> |
| |
| <target name="clean"> |
| <delete dir="${build.dir}"/> |
| </target> |
| |
| <target name="init"> |
| <mkdir dir="${classes.dir}"/> |
| <mkdir dir="${classes2.dir}"/> |
| <mkdir dir="${preprocess.dir}"/> |
| </target> |
| |
| <target name="testApt" depends="init"> |
| <apt srcdir="${src}" |
| destdir="${classes.dir}" |
| debug="on" |
| compile="true" |
| preprocessdir="${preprocess.dir}"> |
| </apt> |
| <assertAptExampleCompiled /> |
| </target> |
| |
| <target name="testAptFork" depends="init"> |
| <apt srcdir="${src}" |
| destdir="${classes.dir}" |
| debug="on" |
| compile="true" |
| fork="true" |
| preprocessdir="${preprocess.dir}"> |
| </apt> |
| <assertAptExampleCompiled /> |
| </target> |
| |
| <target name="testAptForkFalse" depends="init"> |
| <apt srcdir="${src}" |
| destdir="${classes.dir}" |
| debug="on" |
| compile="true" |
| fork="false" |
| preprocessdir="${preprocess.dir}"> |
| </apt> |
| <assertAptExampleCompiled /> |
| </target> |
| |
| <target name="testListAnnotationTypes" depends="init"> |
| <apt srcdir="${src}" |
| destdir="${classes.dir}" |
| debug="on" |
| compile="true" |
| preprocessdir="${preprocess.dir}"> |
| <compilerarg value="-XListAnnotationTypes" /> |
| <compilerarg value="-Xlint:deprecation" /> |
| </apt> |
| |
| <assertAptExampleCompiled /> |
| </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"> |
| <apt srcdir="${src}" |
| destdir="${classes2.dir}" |
| debug="on" |
| compile="true" |
| factory="DistributedAnnotationFactory" |
| preprocessdir="${preprocess.dir}"> |
| <factorypath path="${classes.dir}" /> |
| <option name="build.dir" value="${build.dir}" /> |
| </apt> |
| <assertAptExampleCompiled /> |
| </target> |
| |
| <target name="testAptNewFactoryFork" depends="testApt"> |
| <apt srcdir="${src}" |
| destdir="${classes2.dir}" |
| debug="on" |
| compile="true" |
| fork="true" |
| factory="DistributedAnnotationFactory" |
| preprocessdir="${preprocess.dir}"> |
| <factorypath path="${classes.dir}" /> |
| <option name="build.dir" value="${build.dir}" /> |
| </apt> |
| <assertAptExampleCompiled /> |
| </target> |
| </project> |