-
Notifications
You must be signed in to change notification settings - Fork 2.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[3.9.x] [MNG-7913] Upgrade Sisu version #1286
Conversation
To version that supports gleaning JSR330 component classes up to Java 21. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). --- https://issues.apache.org/jira/browse/MNG-7913
Fwiw, I think you'll also need to back port #1126 in order to make sure the latest ASM supporting JDK 21 is used. |
I think supporting Java up to 19 is enough for Maven 3.9 |
I agree with @kwin: just keep it simple with Maven 3.9, let it go up to Java 21 (maybe M3 is released soon, but M2 does the job as well) but we don't want to "future proof" 3.9, as there is Maven4 for that. |
@cstamas just to clarify, M2 only supports up to Java 19 bytecode which contradicts the description of this PR. Please adjust it accordingly. |
### What changes were proposed in this pull request? This PR aims to upgrade `Apache Maven` to 3.9.6. ### Why are the changes needed? Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14). - apache/maven#1286 > To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass the CIs. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #44267 from dongjoon-hyun/SPARK-46335. Authored-by: Dongjoon Hyun <dhyun@apple.com> Signed-off-by: yangjie01 <yangjie01@baidu.com>
### What changes were proposed in this pull request? This PR aims to upgrade `Apache Maven` to 3.9.6. ### Why are the changes needed? Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14). - apache/maven#1286 > To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). In addition, Maven 3.9.4 hits IOError like the following on Ubuntu 24.04. ``` root479e66773188:/orc/java# ./mvnw --version Exception in thread "main" java.io.IOError: java.io.IOException: Broken pipe at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:544) at org.apache.maven.shared.utils.logging.MessageUtils.doSystemUninstall(MessageUtils.java:101) at org.apache.maven.shared.utils.logging.MessageUtils.systemUninstall(MessageUtils.java:80) at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348) Caused by: java.io.IOException: Broken pipe at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:367) at org.fusesource.jansi.io.FastBufferedOutputStream.flushBuffer(FastBufferedOutputStream.java:58) at org.fusesource.jansi.io.FastBufferedOutputStream.flush(FastBufferedOutputStream.java:65) at java.base/java.io.FilterOutputStream.flush(FilterOutputStream.java:155) at org.fusesource.jansi.io.AnsiOutputStream.uninstall(AnsiOutputStream.java:338) at org.fusesource.jansi.AnsiPrintStream.uninstall(AnsiPrintStream.java:82) at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:541) ... 9 more Using `mvn` from path: /orc/java/build/apache-maven-3.9.4/bin/mvn ``` This is fixed at Maven 3.9.5+. ``` root479e66773188:/orc/java# ./mvnw --version exec: curl --silent --show-error -L https://www.apache.org/dyn/closer.lua?action=download&filename=/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz Using `mvn` from path: /orc/java/build/apache-maven-3.9.5/bin/mvn Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546) Maven home: /orc/java/build/apache-maven-3.9.5 Java version: 21.0.1, vendor: Private Build, runtime: /usr/lib/jvm/java-21-openjdk-arm64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "6.4.16-linuxkit", arch: "aarch64", family: "unix" ``` ### How was this patch tested? Pass the CIs. Closes #1687 from dongjoon-hyun/ORC-1550. Authored-by: Dongjoon Hyun <dongjoon@apache.org> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
### What changes were proposed in this pull request? This PR aims to upgrade `Apache Maven` to 3.9.6. ### Why are the changes needed? Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14). - apache/maven#1286 > To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? Pass the CIs. ### Was this patch authored or co-authored using generative AI tooling? No. Closes apache#44267 from dongjoon-hyun/SPARK-46335. Authored-by: Dongjoon Hyun <dhyun@apple.com> Signed-off-by: yangjie01 <yangjie01@baidu.com>
### What changes were proposed in this pull request? This PR aims to upgrade `Apache Maven` to 3.9.6. ### Why are the changes needed? Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14). - apache/maven#1286 > To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). In addition, Maven 3.9.4 hits IOError like the following on Ubuntu 24.04. ``` root479e66773188:/orc/java# ./mvnw --version Exception in thread "main" java.io.IOError: java.io.IOException: Broken pipe at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:544) at org.apache.maven.shared.utils.logging.MessageUtils.doSystemUninstall(MessageUtils.java:101) at org.apache.maven.shared.utils.logging.MessageUtils.systemUninstall(MessageUtils.java:80) at org.apache.maven.cli.MavenCli.main(MavenCli.java:197) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348) Caused by: java.io.IOException: Broken pipe at java.base/java.io.FileOutputStream.writeBytes(Native Method) at java.base/java.io.FileOutputStream.write(FileOutputStream.java:367) at org.fusesource.jansi.io.FastBufferedOutputStream.flushBuffer(FastBufferedOutputStream.java:58) at org.fusesource.jansi.io.FastBufferedOutputStream.flush(FastBufferedOutputStream.java:65) at java.base/java.io.FilterOutputStream.flush(FilterOutputStream.java:155) at org.fusesource.jansi.io.AnsiOutputStream.uninstall(AnsiOutputStream.java:338) at org.fusesource.jansi.AnsiPrintStream.uninstall(AnsiPrintStream.java:82) at org.fusesource.jansi.AnsiConsole.systemUninstall(AnsiConsole.java:541) ... 9 more Using `mvn` from path: /orc/java/build/apache-maven-3.9.4/bin/mvn ``` This is fixed at Maven 3.9.5+. ``` root479e66773188:/orc/java# ./mvnw --version exec: curl --silent --show-error -L https://www.apache.org/dyn/closer.lua?action=download&filename=/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz Using `mvn` from path: /orc/java/build/apache-maven-3.9.5/bin/mvn Apache Maven 3.9.5 (57804ffe001d7215b5e7bcb531cf83df38f93546) Maven home: /orc/java/build/apache-maven-3.9.5 Java version: 21.0.1, vendor: Private Build, runtime: /usr/lib/jvm/java-21-openjdk-arm64 Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "6.4.16-linuxkit", arch: "aarch64", family: "unix" ``` ### How was this patch tested? Pass the CIs. Closes apache#1687 from dongjoon-hyun/ORC-1550. Authored-by: Dongjoon Hyun <dongjoon@apache.org> Signed-off-by: Dongjoon Hyun <dongjoon@apache.org>
This PR aims to upgrade `Apache Maven` to 3.9.6. Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14). - apache/maven#1286 > To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). No. Pass the CIs. No. Closes apache#44267 from dongjoon-hyun/SPARK-46335. Authored-by: Dongjoon Hyun <dhyun@apple.com> Signed-off-by: yangjie01 <yangjie01@baidu.com>
This PR aims to upgrade `Apache Maven` to 3.9.6. Apache Maven 3.9.6 has MNG-7913 to improve Java supports. Although it's only for up to Java 19, this is better than the previous condition (up to Java 14). - apache/maven#1286 > To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5). No. Pass the CIs. No. Closes apache#44267 from dongjoon-hyun/SPARK-46335. Authored-by: Dongjoon Hyun <dhyun@apple.com> Signed-off-by: yangjie01 <yangjie01@baidu.com>
To version that supports gleaning JSR330 component classes up to Java 19. The reasoning of this change is only to allow 3rd party Maven plugins/Maven extensions/other JSR330 components (managed by Maven embedded Sisu) to use bytecode newer that Java 14 (Sisu 0.3.5).
https://issues.apache.org/jira/browse/MNG-7913