Skip to content

Commit 3703b31

Browse files
committed
Enable GraalVM reachability metadata repository
Closes gh-31687
1 parent 70af816 commit 3703b31

File tree

3 files changed

+16
-1
lines changed
  • spring-boot-project
    • spring-boot-starters/spring-boot-starter-parent
    • spring-boot-tools

3 files changed

+16
-1
lines changed

spring-boot-project/spring-boot-starters/spring-boot-starter-parent/build.gradle

+5
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,11 @@ publishing.publications.withType(MavenPublication) {
249249
plugin {
250250
delegate.groupId('org.graalvm.buildtools')
251251
delegate.artifactId('native-maven-plugin')
252+
configuration {
253+
metadataRepository {
254+
delegate.enabled('true')
255+
}
256+
}
252257
executions {
253258
execution {
254259
delegate.id('build-native')

spring-boot-project/spring-boot-tools/spring-boot-gradle-plugin/src/main/java/org/springframework/boot/gradle/plugin/NativeImagePluginAction.java

+9
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818

1919
import org.graalvm.buildtools.gradle.NativeImagePlugin;
2020
import org.graalvm.buildtools.gradle.dsl.GraalVMExtension;
21+
import org.graalvm.buildtools.gradle.dsl.GraalVMReachabilityMetadataRepositoryExtension;
2122
import org.graalvm.buildtools.gradle.tasks.BuildNativeImageTask;
2223
import org.gradle.api.Action;
2324
import org.gradle.api.Plugin;
2425
import org.gradle.api.Project;
26+
import org.gradle.api.plugins.ExtensionAware;
2527
import org.gradle.api.plugins.JavaPlugin;
2628
import org.gradle.api.plugins.JavaPluginExtension;
2729
import org.gradle.api.tasks.SourceSet;
@@ -53,6 +55,13 @@ public void execute(Project project) {
5355
});
5456
GraalVMExtension graalVmExtension = project.getExtensions().getByType(GraalVMExtension.class);
5557
graalVmExtension.getToolchainDetection().set(false);
58+
reachabilityExtensionOn(graalVmExtension).getEnabled().set(true);
59+
}
60+
61+
private static GraalVMReachabilityMetadataRepositoryExtension reachabilityExtensionOn(
62+
GraalVMExtension graalVmExtension) {
63+
return ((ExtensionAware) graalVmExtension).getExtensions()
64+
.getByType(GraalVMReachabilityMetadataRepositoryExtension.class);
5665
}
5766

5867
}

spring-boot-project/spring-boot-tools/spring-boot-gradle-test-support/src/main/java/org/springframework/boot/testsupport/gradle/testkit/GradleBuild.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ private List<File> pluginClasspath() {
126126
new File(pathOfJarContaining(JsonView.class)), new File(pathOfJarContaining(Platform.class)),
127127
new File(pathOfJarContaining(Toml.class)), new File(pathOfJarContaining(Lexer.class)),
128128
new File(pathOfJarContaining("org.graalvm.buildtools.gradle.NativeImagePlugin")),
129-
new File(pathOfJarContaining("org.graalvm.reachability.JvmReachabilityMetadataRepository")));
129+
new File(pathOfJarContaining("org.graalvm.reachability.GraalVMReachabilityMetadataRepository")),
130+
new File(pathOfJarContaining("org.graalvm.buildtools.utils.SharedConstants")));
130131
}
131132

132133
private String pathOfJarContaining(String className) {

0 commit comments

Comments
 (0)