Package: ant
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch
X-Debbugs-Cc: vladimir.pe...@canonical.com

Dear Maintainer,

Java 21 no longer supports release level 7 and requires a minimul level of 8.
The attached patch updates debian/patches/0013-auto-adjust-target.patch to
automatically select release 8 when Java 21 is in use.

Changes:
  * d/p/0013-auto-adjust-target.patch: Use release level 8 for  Java 21.


Thanks for considering the patch.


-- System Information:
Debian Release: bookworm/sid
  APT prefers lunar-updates
  APT policy: (500, 'lunar-updates'), (500, 'lunar-security'), (500, 'lunar'), 
(100, 'lunar-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.2.0-24-generic (SMP w/32 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru ant-1.10.13/debian/patches/0013-auto-adjust-target.patch 
ant-1.10.13/debian/patches/0013-auto-adjust-target.patch
--- ant-1.10.13/debian/patches/0013-auto-adjust-target.patch    2023-02-06 
23:51:41.000000000 +1300
+++ ant-1.10.13/debian/patches/0013-auto-adjust-target.patch    2023-05-04 
00:37:36.000000000 +1200
@@ -55,7 +55,7 @@
  
 --- /dev/null
 +++ b/src/main/org/apache/tools/ant/taskdefs/LanguageLevel.java
-@@ -0,0 +1,76 @@
+@@ -0,0 +1,82 @@
 +package org.apache.tools.ant.taskdefs;
 +
 +import java.util.ArrayList;
@@ -88,6 +88,10 @@
 +            unsupportedLevels.add("1.6");
 +            unsupportedLevels.add("6");
 +        }
++        if (JavaEnvUtils.isAtLeastJavaVersion("21")) {
++            unsupportedLevels.add("1.7");
++            unsupportedLevels.add("7");
++        }
 +
 +        return !unsupportedLevels.contains(level);
 +    }
@@ -96,11 +100,13 @@
 +     * Returns the minimum language level supported by the current javac.
 +     */
 +    static String getMinimumLevel() {
-+        if (JavaEnvUtils.isAtLeastJavaVersion("12")) {
++        if (JavaEnvUtils.isAtLeastJavaVersion("21")) {
++            return "8";
++        } else  if (JavaEnvUtils.isAtLeastJavaVersion("12")) {
 +            return "7";
++        } else {
++            return "6";
 +        }
-+
-+        return "6";
 +    }
 +
 +    /**

Reply via email to