You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by bo...@apache.org on 2017/12/09 19:08:28 UTC
[1/5] ant git commit: add test for Java10 version support
Repository: ant
Updated Branches:
refs/heads/master 1166420e3 -> 1c5a92fb1
add test for Java10 version support
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/4ea39464
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/4ea39464
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/4ea39464
Branch: refs/heads/master
Commit: 4ea39464abb7633cfc68d43da5791e5c4897fd03
Parents: dd1ac8f
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sat Dec 9 19:28:56 2017 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sat Dec 9 19:28:56 2017 +0100
----------------------------------------------------------------------
.../junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java | 9 +++++++++
1 file changed, 9 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/4ea39464/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java b/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
index 6b27652..e26a7cb 100644
--- a/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
+++ b/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
@@ -145,4 +145,13 @@ public class JavaEnvUtilsTest {
JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_9));
}
+ @Test
+ public void java10IsDetectedProperly() {
+ assumeTrue("10".equals(System.getProperty("java.specification.version")));
+ assertEquals("10", JavaEnvUtils.getJavaVersion());
+ assertEquals(100, JavaEnvUtils.getJavaVersionNumber());
+ assertEquals(new DeweyDecimal("10"), JavaEnvUtils.getParsedJavaVersion());
+ assertTrue(JavaEnvUtils.isJavaVersion("10"));
+ assertTrue(JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+ }
}
[3/5] ant git commit: use cleaner methid to detect current java
version in
Posted by bo...@apache.org.
use cleaner methid to detect current java version in <apt>
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/8191d7e0
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/8191d7e0
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/8191d7e0
Branch: refs/heads/master
Commit: 8191d7e0f2e961953bbbb9bfd7003d6d32f3182c
Parents: 6cd989e
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sat Dec 9 19:34:17 2017 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sat Dec 9 19:34:17 2017 +0100
----------------------------------------------------------------------
src/main/org/apache/tools/ant/taskdefs/Apt.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/8191d7e0/src/main/org/apache/tools/ant/taskdefs/Apt.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/Apt.java b/src/main/org/apache/tools/ant/taskdefs/Apt.java
index 52154a8..ab527b8 100644
--- a/src/main/org/apache/tools/ant/taskdefs/Apt.java
+++ b/src/main/org/apache/tools/ant/taskdefs/Apt.java
@@ -262,7 +262,7 @@ public class Apt
*/
public void execute()
throws BuildException {
- if (JavaEnvUtils.getJavaVersionNumber() >= 18) {
+ if (JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_1_8)) {
throw new BuildException("apt does not exist under Java 1.8 and higher");
}
super.execute();
[5/5] ant git commit: Merge branch '1.9.x'
Posted by bo...@apache.org.
Merge branch '1.9.x'
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/1c5a92fb
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/1c5a92fb
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/1c5a92fb
Branch: refs/heads/master
Commit: 1c5a92fb1f6bfe673ba5239185a8ce0a2ceda277
Parents: 1166420 79e9d10
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sat Dec 9 20:08:10 2017 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sat Dec 9 20:08:10 2017 +0100
----------------------------------------------------------------------
WHATSNEW | 3 +++
manual/Tasks/javah.html | 3 ++-
.../optional/javah/JavahAdapterFactory.java | 5 +++++
.../org/apache/tools/ant/util/JavaEnvUtils.java | 8 ++++++--
src/tests/antunit/taskdefs/optional/javah-test.xml | 16 ++++++++++++----
.../tools/ant/taskdefs/optional/JavahTest.java | 4 ++++
.../org/apache/tools/ant/util/JavaEnvUtilsTest.java | 11 +++++++++++
7 files changed, 43 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/1c5a92fb/WHATSNEW
----------------------------------------------------------------------
diff --cc WHATSNEW
index d191f9f,e855833..ce969f4
--- a/WHATSNEW
+++ b/WHATSNEW
@@@ -75,8 -52,11 +75,11 @@@ Other changes
* added "javac10+" as new supported value for javac's compiler attribute.
+ * javah has been removed from Java 10. The task will now throw an
+ exception if you try to use it while running Java 10 or newer.
+
-Changes from Ant 1.9.8 TO Ant 1.9.9
-===================================
+Changes from Ant 1.10.0 TO Ant 1.10.1
+=====================================
Fixed bugs:
-----------
http://git-wip-us.apache.org/repos/asf/ant/blob/1c5a92fb/manual/Tasks/javah.html
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/1c5a92fb/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
----------------------------------------------------------------------
diff --cc src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
index 2244e5b,d40e595..931131b
--- a/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
@@@ -85,18 -86,20 +85,23 @@@ public class JavahAdapterFactory
if ((JavaEnvUtils.isKaffe() && choice == null)
|| Kaffeh.IMPLEMENTATION_NAME.equals(choice)) {
return new Kaffeh();
- } else if ((JavaEnvUtils.isGij() && choice == null)
+ }
+ if ((JavaEnvUtils.isGij() && choice == null)
|| Gcjh.IMPLEMENTATION_NAME.equals(choice)) {
return new Gcjh();
- } else if (JavaEnvUtils.isAtLeastJavaVersion("10") &&
- (choice == null || ForkingJavah.IMPLEMENTATION_NAME.equals(choice))) {
+ }
++ if (JavaEnvUtils.isAtLeastJavaVersion("10") &&
++ (choice == null || ForkingJavah.IMPLEMENTATION_NAME.equals(choice))) {
+ throw new BuildException("javah does not exist under Java 10 and higher,"
+ + " use the javac task with nativeHeaderDir instead");
- } else if ((JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9)
- && choice == null)
- || ForkingJavah.IMPLEMENTATION_NAME.equals(choice)) {
++ }
+ if (ForkingJavah.IMPLEMENTATION_NAME.equals(choice)) {
return new ForkingJavah();
- } else if (SunJavah.IMPLEMENTATION_NAME.equals(choice)) {
+ }
+ if (SunJavah.IMPLEMENTATION_NAME.equals(choice)) {
return new SunJavah();
- } else if (choice != null) {
+ }
+ if (choice != null) {
return resolveClassName(choice,
// Memory leak in line below
log.getProject()
http://git-wip-us.apache.org/repos/asf/ant/blob/1c5a92fb/src/main/org/apache/tools/ant/util/JavaEnvUtils.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/1c5a92fb/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
----------------------------------------------------------------------
diff --cc src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
index 28e1386,e26a7cb..57d45e5
--- a/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
+++ b/src/tests/junit/org/apache/tools/ant/util/JavaEnvUtilsTest.java
@@@ -143,4 -144,14 +143,15 @@@ public class JavaEnvUtilsTest
assertTrue("JAVA_1_9 is not considered equal to JAVA_9",
JavaEnvUtils.isJavaVersion(JavaEnvUtils.JAVA_1_9));
}
+
+ @Test
+ public void java10IsDetectedProperly() {
+ assumeTrue("10".equals(System.getProperty("java.specification.version")));
+ assertEquals("10", JavaEnvUtils.getJavaVersion());
+ assertEquals(100, JavaEnvUtils.getJavaVersionNumber());
+ assertEquals(new DeweyDecimal("10"), JavaEnvUtils.getParsedJavaVersion());
+ assertTrue(JavaEnvUtils.isJavaVersion("10"));
+ assertTrue(JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9));
+ }
++
}
[4/5] ant git commit: fail early if javah is used with java 10+
Posted by bo...@apache.org.
fail early if javah is used with java 10+
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/79e9d104
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/79e9d104
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/79e9d104
Branch: refs/heads/master
Commit: 79e9d104350c4c3db04ccb7d53a6a9a1544d17fa
Parents: 8191d7e
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sat Dec 9 20:03:15 2017 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sat Dec 9 20:03:15 2017 +0100
----------------------------------------------------------------------
WHATSNEW | 3 +++
manual/Tasks/javah.html | 3 ++-
.../optional/javah/JavahAdapterFactory.java | 4 ++++
src/tests/antunit/taskdefs/optional/javah-test.xml | 16 ++++++++++++----
.../tools/ant/taskdefs/optional/JavahTest.java | 4 ++++
5 files changed, 25 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/79e9d104/WHATSNEW
----------------------------------------------------------------------
diff --git a/WHATSNEW b/WHATSNEW
index 0f5e9bf..e855833 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -52,6 +52,9 @@ Other changes:
* added "javac10+" as new supported value for javac's compiler attribute.
+ * javah has been removed from Java 10. The task will now throw an
+ exception if you try to use it while running Java 10 or newer.
+
Changes from Ant 1.9.8 TO Ant 1.9.9
===================================
http://git-wip-us.apache.org/repos/asf/ant/blob/79e9d104/manual/Tasks/javah.html
----------------------------------------------------------------------
diff --git a/manual/Tasks/javah.html b/manual/Tasks/javah.html
index 4d3979b..d1daa7c 100644
--- a/manual/Tasks/javah.html
+++ b/manual/Tasks/javah.html
@@ -39,7 +39,8 @@ systems are used.</p>
generate the native header files with a single step.</p>
<p><b>Note</b> the <code>javah</code> has been deprecated as of Java 9
- and is scheduled to be removed with Java 10.</p>
+ and removed as of Java 10. Trying to use it with Java10 will
+ fail.</p>
<p>It is possible to use different compilers. This can be selected
with the <code>implementation</code> attribute or a nested element. <a
http://git-wip-us.apache.org/repos/asf/ant/blob/79e9d104/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java b/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
index cc4419c..d40e595 100644
--- a/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
+++ b/src/main/org/apache/tools/ant/taskdefs/optional/javah/JavahAdapterFactory.java
@@ -89,6 +89,10 @@ public class JavahAdapterFactory {
} else if ((JavaEnvUtils.isGij() && choice == null)
|| Gcjh.IMPLEMENTATION_NAME.equals(choice)) {
return new Gcjh();
+ } else if (JavaEnvUtils.isAtLeastJavaVersion("10") &&
+ (choice == null || ForkingJavah.IMPLEMENTATION_NAME.equals(choice))) {
+ throw new BuildException("javah does not exist under Java 10 and higher,"
+ + " use the javac task with nativeHeaderDir instead");
} else if ((JavaEnvUtils.isAtLeastJavaVersion(JavaEnvUtils.JAVA_9)
&& choice == null)
|| ForkingJavah.IMPLEMENTATION_NAME.equals(choice)) {
http://git-wip-us.apache.org/repos/asf/ant/blob/79e9d104/src/tests/antunit/taskdefs/optional/javah-test.xml
----------------------------------------------------------------------
diff --git a/src/tests/antunit/taskdefs/optional/javah-test.xml b/src/tests/antunit/taskdefs/optional/javah-test.xml
index 884523d..82d91c8 100644
--- a/src/tests/antunit/taskdefs/optional/javah-test.xml
+++ b/src/tests/antunit/taskdefs/optional/javah-test.xml
@@ -101,12 +101,12 @@ public class Foo {
</presetdef>
</target>
- <target name="testSimpleCompile" depends="-setupForRealJavahTests">
+ <target name="testSimpleCompile" depends="-setupForRealJavahTests" unless="jdk10+">
<javah-single/>
<au:assertFileExists file="${output}/org_example_Foo.h"/>
</target>
- <target name="testCompileUsingFileset" depends="-setupForRealJavahTests">
+ <target name="testCompileUsingFileset" depends="-setupForRealJavahTests" unless="jdk10+">
<javah-fileset/>
<au:assertFileExists file="${output}/org_example_Foo.h"/>
</target>
@@ -123,13 +123,21 @@ public class Foo {
<au:assertFileExists file="${output}/org_example_Foo.h"/>
</target>
- <target name="testSimpleCompileForking" depends="-setupForRealJavahTests">
+ <target name="testSimpleCompileForking" depends="-setupForRealJavahTests" unless="jdk10+">
<javah-single implementation="forking"/>
<au:assertFileExists file="${output}/org_example_Foo.h"/>
</target>
- <target name="testCompileUsingFilesetForking" depends="-setupForRealJavahTests">
+ <target name="testCompileUsingFilesetForking" depends="-setupForRealJavahTests" unless="jdk10+">
<javah-fileset implementation="forking"/>
<au:assertFileExists file="${output}/org_example_Foo.h"/>
</target>
+
+ <target name="testSimpleCompileFailsOnJava10+" depends="-setupForRealJavahTests"
+ if="jdk10+">
+ <au:expectfailure>
+ <javah-single/>
+ </au:expectfailure>
+ </target>
+
</project>
http://git-wip-us.apache.org/repos/asf/ant/blob/79e9d104/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java
----------------------------------------------------------------------
diff --git a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java
index 40472de..91f7b32 100644
--- a/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java
+++ b/src/tests/junit/org/apache/tools/ant/taskdefs/optional/JavahTest.java
@@ -18,6 +18,8 @@
package org.apache.tools.ant.taskdefs.optional;
import org.apache.tools.ant.BuildFileRule;
+import org.apache.tools.ant.util.JavaEnvUtils;
+import org.junit.Assume;
import org.junit.After;
import org.junit.Before;
import org.junit.Rule;
@@ -47,6 +49,7 @@ public class JavahTest {
@Test
public void testSimpleCompile() {
+ Assume.assumeFalse(JavaEnvUtils.isAtLeastJavaVersion("10"));
buildRule.executeTarget("simple-compile");
assertTrue(new File(buildRule.getProject().getProperty("output"), "org_example_Foo.h")
.exists());
@@ -54,6 +57,7 @@ public class JavahTest {
@Test
public void testCompileFileset() {
+ Assume.assumeFalse(JavaEnvUtils.isAtLeastJavaVersion("10"));
buildRule.executeTarget("test-fileset");
assertTrue(new File(buildRule.getProject().getProperty("output"), "org_example_Foo.h").exists());
}
[2/5] ant git commit: deal with theoretical case of version scheme
changing again
Posted by bo...@apache.org.
deal with theoretical case of version scheme changing again
Project: http://git-wip-us.apache.org/repos/asf/ant/repo
Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/6cd989e5
Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/6cd989e5
Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/6cd989e5
Branch: refs/heads/master
Commit: 6cd989e534dd52130f932ce04d3ca8aafe387cc9
Parents: 4ea3946
Author: Stefan Bodewig <bo...@apache.org>
Authored: Sat Dec 9 19:29:09 2017 +0100
Committer: Stefan Bodewig <bo...@apache.org>
Committed: Sat Dec 9 19:29:09 2017 +0100
----------------------------------------------------------------------
src/main/org/apache/tools/ant/util/JavaEnvUtils.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ant/blob/6cd989e5/src/main/org/apache/tools/ant/util/JavaEnvUtils.java
----------------------------------------------------------------------
diff --git a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java
index 7c980c8..359174a 100644
--- a/src/main/org/apache/tools/ant/util/JavaEnvUtils.java
+++ b/src/main/org/apache/tools/ant/util/JavaEnvUtils.java
@@ -187,8 +187,12 @@ public final class JavaEnvUtils {
javaVersionNumber = VERSION_9;
// at least Java9 and this should properly support the purely numeric version property
String v = System.getProperty("java.specification.version");
- javaVersionNumber = Integer.parseInt(v) * 10;
- javaVersion = v;
+ DeweyDecimal pv = new DeweyDecimal(v);
+ javaVersionNumber = pv.get(0) * 10;
+ if (pv.getSize() > 1) {
+ javaVersionNumber += pv.get(1);
+ }
+ javaVersion = pv.toString();
} catch (Throwable t) {
// swallow as we've hit the max class version that
// we have