Fail more elegantly when GraalVM version is too old

Closes gh-32924
This commit is contained in:
Andy Wilkinson
2022-11-04 13:05:22 +00:00
parent 19b2bd6d1c
commit fe8644cc59
5 changed files with 45 additions and 0 deletions

View File

@@ -24,6 +24,7 @@ import org.graalvm.buildtools.gradle.NativeImagePlugin;
import org.graalvm.buildtools.gradle.dsl.GraalVMExtension;
import org.graalvm.buildtools.gradle.dsl.GraalVMReachabilityMetadataRepositoryExtension;
import org.gradle.api.Action;
import org.gradle.api.GradleException;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.artifacts.Configuration;
@@ -94,6 +95,15 @@ class NativeImagePluginAction implements PluginApplicationAction {
private GraalVMExtension configureGraalVmExtension(Project project) {
GraalVMExtension extension = project.getExtensions().getByType(GraalVMExtension.class);
extension.getToolchainDetection().set(false);
extension.getBinaries().configureEach((options) -> {
try {
options.getRequiredVersion().convention("22.3");
}
catch (NoSuchMethodError ex) {
throw new GradleException("Incompatible version of org.graalvm.buildtools.native plugin. "
+ "Please upgrade to 0.9.17 or later.");
}
});
return extension;
}