gluonhq / substrate

Create native Java(FX) apps for desktop, mobile and embedded
GNU General Public License v2.0
372 stars 51 forks source link

Cannot use GraalVM for JDK 17 (23.0.0) #1221

Closed kristofdho closed 1 year ago

kristofdho commented 1 year ago

The internal version check in InternalProjectConfiguration.checkGraalVMVersion does not allow the new versioning scheme of GraalVM which breaks compilation with 23.0.0, which now reports 17.0.7 as version.

Expected Behavior

I can use GraalVM for JDK 17 / 20

Current Behavior

java.io.IOException: Current GraalVM version (17.0.7) not supported.
Please upgrade to 22.1 or higher
    at com.gluonhq.substrate.model.InternalProjectConfiguration.checkGraalVMVersion(InternalProjectConfiguration.java:480)
    at com.gluonhq.substrate.SubstrateDispatcher.<init>(SubstrateDispatcher.java:381)
    at com.gluonhq.NativeBaseMojo.createSubstrateDispatcher(NativeBaseMojo.java:173)
    at com.gluonhq.NativeCompileMojo.execute(NativeCompileMojo.java:53)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:301)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:211)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:165)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:157)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:121)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:127)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:294)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)

Steps to Reproduce

compile anything with GraalVM for JDK 17 / 20

Your Environment

GraalVM for JDK 17