Closed snazy closed 2 years ago
Would that work though? Even if the process is forked, it would still require a JDK11 environment wouldn't it?
Right, but you can "just" setup one aside from the "main Java 8 one" and set an env var or use the toolchains API.
Currently the apprunner-gradle-plugin uses Quarkus mechanisms to resolve artifacts, setup the configuration, etc. - this reuses functionality from the apprunner-maven-plugin.
Since #1245 (new in Nessie 0.6.1), the Nessie-Server is built with Java 11.
The Iceberg-Java-8 build (naturally) fails with Nessie 0.6.1 (comment). It's not a solution to revert #1245, because Quarkus 2.0 will drop Java 8 support.
The idea is to launch the Nessie server as a separate process using the uber-jar, which is published to Maven Central since Nessie 0.6.1.
Removing all the Quarkus-bootstrap code from the plugin should also simplify the plugin code a lot and reduce the amount of dependencies.
It might be good to use the same approach in the Maven plugin as well, and continue to share the code base for both the Maven and Gradle plugins.
The new code that launches the Nessie server as a separate process just needs a bit more logic (rather configuration) to distinguish whether it shall use an "external dependency to the uber-jar" or whether it shall (or can) look for the
servers/quarkus-server/target/quarkus-app/quarkus-run.jar
(the non-uber variant).