Enable GraalVM reachability metadata repository
Closes gh-31687
This commit is contained in:
@@ -249,6 +249,11 @@ publishing.publications.withType(MavenPublication) {
|
||||
plugin {
|
||||
delegate.groupId('org.graalvm.buildtools')
|
||||
delegate.artifactId('native-maven-plugin')
|
||||
configuration {
|
||||
metadataRepository {
|
||||
delegate.enabled('true')
|
||||
}
|
||||
}
|
||||
executions {
|
||||
execution {
|
||||
delegate.id('build-native')
|
||||
|
||||
@@ -18,10 +18,12 @@ package org.springframework.boot.gradle.plugin;
|
||||
|
||||
import org.graalvm.buildtools.gradle.NativeImagePlugin;
|
||||
import org.graalvm.buildtools.gradle.dsl.GraalVMExtension;
|
||||
import org.graalvm.buildtools.gradle.dsl.GraalVMReachabilityMetadataRepositoryExtension;
|
||||
import org.graalvm.buildtools.gradle.tasks.BuildNativeImageTask;
|
||||
import org.gradle.api.Action;
|
||||
import org.gradle.api.Plugin;
|
||||
import org.gradle.api.Project;
|
||||
import org.gradle.api.plugins.ExtensionAware;
|
||||
import org.gradle.api.plugins.JavaPlugin;
|
||||
import org.gradle.api.plugins.JavaPluginExtension;
|
||||
import org.gradle.api.tasks.SourceSet;
|
||||
@@ -53,6 +55,13 @@ class NativeImagePluginAction implements PluginApplicationAction {
|
||||
});
|
||||
GraalVMExtension graalVmExtension = project.getExtensions().getByType(GraalVMExtension.class);
|
||||
graalVmExtension.getToolchainDetection().set(false);
|
||||
reachabilityExtensionOn(graalVmExtension).getEnabled().set(true);
|
||||
}
|
||||
|
||||
private static GraalVMReachabilityMetadataRepositoryExtension reachabilityExtensionOn(
|
||||
GraalVMExtension graalVmExtension) {
|
||||
return ((ExtensionAware) graalVmExtension).getExtensions()
|
||||
.getByType(GraalVMReachabilityMetadataRepositoryExtension.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -126,7 +126,8 @@ public class GradleBuild {
|
||||
new File(pathOfJarContaining(JsonView.class)), new File(pathOfJarContaining(Platform.class)),
|
||||
new File(pathOfJarContaining(Toml.class)), new File(pathOfJarContaining(Lexer.class)),
|
||||
new File(pathOfJarContaining("org.graalvm.buildtools.gradle.NativeImagePlugin")),
|
||||
new File(pathOfJarContaining("org.graalvm.reachability.JvmReachabilityMetadataRepository")));
|
||||
new File(pathOfJarContaining("org.graalvm.reachability.GraalVMReachabilityMetadataRepository")),
|
||||
new File(pathOfJarContaining("org.graalvm.buildtools.utils.SharedConstants")));
|
||||
}
|
||||
|
||||
private String pathOfJarContaining(String className) {
|
||||
|
||||
Reference in New Issue
Block a user