gnodet commented on PR #14: URL: https://github.com/apache/maven-toolchains-plugin/pull/14#issuecomment-1968843474
> Personally i use JAVA${major}_HOME and wire it in pom in executable or jvm properties today. > > But what I dont like in this pr is that it adds complexity to the complexity of toolchain whereas if you totally drop toolchain everything is simple. > > Dont take it as a -1 but more as not something to promote nor recommend to end users IMHO. I'm not sure how it really adds complexity. I agree toolchains can be seen as overly complicated when you can use the `<jvm>` arg for surefire. But the compiler cannot for example and in such cases, you have to use toolchains. So let's simplify their usage. Note that with this PR, you don't have to generate the toolchains xml, they are automatically discovered. So with no toolchains preconfigured, if you have an env var `JAVA17_HOME`, you can very easily select it as the toolchain: ``` ➜ maven-toolchains-plugin git:(discovered-toolchains) echo $JAVA17_HOME /Users/gnodet/.sdkman/candidates/java/17.0.9-graalce ➜ maven-toolchains-plugin git:(discovered-toolchains) mvn org.apache.maven.plugins:maven-toolchains-plugin:3.1.1-SNAPSHOT:select-jdk-toolchain -Dtoolchain.jdk.env=JAVA17_HOME Using MAVEN_CENTRAL=http://old-broken-macbook-pro.local:8082/artifactory/maven-remote/ [INFO] Scanning for projects... [INFO] [INFO] ----------< org.apache.maven.plugins:maven-toolchains-plugin >---------- [INFO] Building Apache Maven Toolchains Plugin 3.1.1-SNAPSHOT [INFO] from pom.xml [INFO] ----------------------------[ maven-plugin ]---------------------------- [INFO] [INFO] --- toolchains:3.1.1-SNAPSHOT:select-jdk-toolchain (default-cli) @ maven-toolchains-plugin --- [INFO] Found 10 possible jdks: [/Users/gnodet/.sdkman/candidates/java/21.0.2-tem, /Users/gnodet/.jabba/jdk/zulu@1.8.282/Contents/Home, /Users/gnodet/.sdkman/candidates/java/8.0.402-librca, /Users/gnodet/.jbang/cache/jdks/17, /Users/gnodet/.sdkman/candidates/java/11.0.19-tem, /Users/gnodet/.sdkman/candidates/java/21.0.2-graalce, /Users/gnodet/.sdkman/candidates/java/17.0.9-graalce, /Users/gnodet/.sdkman/candidates/java/22.ea.31-open, /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home, /Users/gnodet/.sdkman/candidates/java/17.0.10-tem] [INFO] Discovered 10 JDK toolchains [INFO] Found matching JDK toolchain: JDK[/Users/gnodet/.sdkman/candidates/java/17.0.9-graalce] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 0.569 s [INFO] Finished at: 2024-02-28T12:52:47+01:00 [INFO] ------------------------------------------------------------------------ ➜ maven-toolchains-plugin git:(discovered-toolchains) ``` If you want to compile targeting JDK 1.7 for example, you can select a JDK 1.8 compile by using `-Dtoolchain.jdk.version="[1.8,1.9)"` ... -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org