changeset 39868:9ee2bf01ba7e

javacomp-script, javacomp: Add preliminary support for Java 12..17. * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11. * lib/javacomp.c (default_target_version): Likewise.
author Bruno Haible <bruno@clisp.org>
date Wed, 26 Sep 2018 22:14:07 +0200
parents 67c6a0f59621
children f315e5e30ddd
files ChangeLog lib/javacomp.c m4/javacomp.m4
diffstat 3 files changed, 24 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Wed Sep 26 11:21:30 2018 +0200
+++ b/ChangeLog	Wed Sep 26 22:14:07 2018 +0200
@@ -1,3 +1,9 @@
+2018-09-26  Bruno Haible  <bruno@clisp.org>
+
+	javacomp-script, javacomp: Add preliminary support for Java 12..17.
+	* m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
+	* lib/javacomp.c (default_target_version): Likewise.
+
 2018-09-26  Bruno Haible  <bruno@clisp.org>
 
 	javacomp-script, javacomp: Add support for Java 11.
--- a/lib/javacomp.c	Wed Sep 26 11:21:30 2018 +0200
+++ b/lib/javacomp.c	Wed Sep 26 22:14:07 2018 +0200
@@ -98,8 +98,9 @@
     {
       /* Determine the version from the found JVM.  */
       java_version_cache = javaexec_version ();
-      if (java_version_cache == NULL
-          || !((java_version_cache[0] == '1'
+      if (java_version_cache == NULL)
+        java_version_cache = "1.1";
+      else if ((java_version_cache[0] == '1'
                 && java_version_cache[1] == '.'
                 && java_version_cache[2] >= '1' && java_version_cache[2] <= '8'
                 && java_version_cache[3] == '\0')
@@ -108,7 +109,17 @@
                || (java_version_cache[0] == '1'
                    && (java_version_cache[1] >= '0'
                        && java_version_cache[1] <= '1')
-                   && java_version_cache[2] == '\0')))
+                   && java_version_cache[2] == '\0'))
+        /* It's one of the valid target version values.  */
+        ;
+      else if (java_version_cache[0] == '1'
+               && (java_version_cache[1] >= '2'
+                   && java_version_cache[1] <= '7')
+               && java_version_cache[2] == '\0')
+        /* Assume that these (not yet released) Java versions will behave
+           like the preceding ones.  */
+        java_version_cache = "11";
+      else
         java_version_cache = "1.1";
     }
   return java_version_cache;
--- a/m4/javacomp.m4	Wed Sep 26 11:21:30 2018 +0200
+++ b/m4/javacomp.m4	Wed Sep 26 22:14:07 2018 +0200
@@ -127,6 +127,10 @@
        }`
        case "$target_version" in
          1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 1.7 | 1.8 | 9 | 10 | 11) ;;
+         12 | 13 | 14 | 15 | 16 | 17)
+           dnl Assume that these (not yet released) Java versions will behave
+           dnl like the preceding ones.
+           target_version=11 ;;
          null)
            dnl JDK 1.1.X returns null.
            target_version=1.1 ;;