Package: maven-javadoc-plugin 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. The attached patch updates auto- adjust-language-level.patch to use release level 8 for Java 21 and keeps the release level 7 otherwise. Changes: * d/p/auto-adjust-language-level.patch: use release 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 maven-javadoc-plugin-3.4.1/debian/patches/auto-adjust-language-level.patch maven-javadoc-plugin-3.4.1/debian/patches/auto-adjust-language-level.patch --- maven-javadoc-plugin-3.4.1/debian/patches/auto-adjust-language-level.patch 2023-01-16 21:27:53.000000000 +1300 +++ maven-javadoc-plugin-3.4.1/debian/patches/auto-adjust-language-level.patch 2023-07-05 16:35:05.000000000 +1200 @@ -3,20 +3,44 @@ Forwarded: not-needed --- a/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java +++ b/src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java -@@ -158,6 +158,8 @@ +@@ -158,6 +158,32 @@ public abstract class AbstractJavadocMojo extends AbstractMojo { -+ private List<String> unsupportedLanguageLevels = java.util.Arrays.asList(new String[]{"1.1", "1.2", "1.3", "1.4", "1.5", "5", "1.6", "6"}); ++ private List<String> unsupportedLanguageLevels = getUnsupportedLanguageLevels(); ++ ++ private static List<String> getUnsupportedLanguageLevels() { ++ if ( isAtLeastJava21() ) { ++ return java.util.Arrays.asList( new String[]{"1.1", "1.2", "1.3", "1.4", "1.5", "5", "1.6", "6", "1.7", "7"} ); ++ } ++ return java.util.Arrays.asList( new String[]{"1.1", "1.2", "1.3", "1.4", "1.5", "5", "1.6", "6"} ); ++ } ++ ++ private static boolean isAtLeastJava21() ++ { ++ try ++ { ++ return Integer.parseInt( System.getProperty( "java.specification.version" ) ) >= 21; ++ } ++ catch ( Exception e ) ++ { ++ return false; ++ } ++ } ++ ++ private String getMinRelease() ++ { ++ return isAtLeastJava21() ? "8" : "7"; ++ } + /** * Classifier used in the name of the javadoc-options XML file, and in the resources bundle * artifact that gets attached to the project. This one is used for non-test javadocs. -@@ -2028,6 +2030,19 @@ +@@ -2028,6 +2054,19 @@ public void execute() throws MojoExecutionException, MojoFailureException { -+ String defaultLevel = "7"; ++ String defaultLevel = getMinRelease(); + if ( unsupportedLanguageLevels.contains( release ) ) + { + System.err.println( "Use of release " + release + " is no longer supported, switching to " + defaultLevel );