You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by an...@apache.org on 2013/12/23 03:57:05 UTC

svn commit: r1553060 - in /ant/core/trunk: ./ src/etc/testcases/taskdefs/ src/etc/testcases/taskdefs/apt/ src/main/org/apache/tools/ant/taskdefs/ src/tests/antunit/taskdefs/ src/tests/antunit/taskdefs/apt/ src/tests/junit/org/apache/tools/ant/taskdefs/

Author: antoine
Date: Mon Dec 23 02:57:04 2013
New Revision: 1553060

URL: http://svn.apache.org/r1553060
Log:
adapting code and tests since Apt is not available under JKD1.8 PR 55922

Added:
    ant/core/trunk/src/tests/antunit/taskdefs/apt/
      - copied from r1553043, ant/core/trunk/src/etc/testcases/taskdefs/apt/
    ant/core/trunk/src/tests/antunit/taskdefs/apt-test.xml
      - copied, changed from r1553043, ant/core/trunk/src/etc/testcases/taskdefs/apt.xml
Removed:
    ant/core/trunk/src/etc/testcases/taskdefs/apt/
    ant/core/trunk/src/etc/testcases/taskdefs/apt.xml
    ant/core/trunk/src/tests/junit/org/apache/tools/ant/taskdefs/AptTest.java
Modified:
    ant/core/trunk/WHATSNEW
    ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Apt.java

Modified: ant/core/trunk/WHATSNEW
URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?rev=1553060&r1=1553059&r2=1553060&view=diff
==============================================================================
--- ant/core/trunk/WHATSNEW (original)
+++ ant/core/trunk/WHATSNEW Mon Dec 23 02:57:04 2013
@@ -25,6 +25,10 @@ Fixed bugs:
  * Ant 1.8 exec task changes have slowed exec to a crawl
    Bugzilla Report 54128.
 
+ * Apt is not available under JDK 1.8
+   Bugzilla Report 55922.
+
+
 Other changes:
 --------------
 

Modified: ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Apt.java
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Apt.java?rev=1553060&r1=1553059&r2=1553060&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Apt.java (original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/Apt.java Mon Dec 23 02:57:04 2013
@@ -262,6 +262,9 @@ public class Apt
      */
     public void execute()
             throws BuildException {
+        if (JavaEnvUtils.getJavaVersionNumber() >= 18) {
+           throw new BuildException("apt does not exist under Java 1.8 and higher");
+        }
         super.execute();
     }
 }

Copied: ant/core/trunk/src/tests/antunit/taskdefs/apt-test.xml (from r1553043, ant/core/trunk/src/etc/testcases/taskdefs/apt.xml)
URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/taskdefs/apt-test.xml?p2=ant/core/trunk/src/tests/antunit/taskdefs/apt-test.xml&p1=ant/core/trunk/src/etc/testcases/taskdefs/apt.xml&r1=1553043&r2=1553060&rev=1553060&view=diff
==============================================================================
--- ant/core/trunk/src/etc/testcases/taskdefs/apt.xml (original)
+++ ant/core/trunk/src/tests/antunit/taskdefs/apt-test.xml Mon Dec 23 02:57:04 2013
@@ -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>
\ No newline at end of file