Skip to content

Commit 88219c4

Browse files
committed
Lazily check for toolchain service (it might be injected later).
1 parent 6be2704 commit 88219c4

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

native-gradle-plugin/src/main/java/org/graalvm/buildtools/gradle/internal/DefaultGraalVmExtension.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ public abstract class DefaultGraalVmExtension implements GraalVMExtension {
6565
private final Project project;
6666
private final Map<String, Provider<Boolean>> agentProperties = new HashMap<>();
6767
private final Property<JavaLauncher> defaultJavaLauncher;
68-
private final JavaToolchainService toolchainService;
6968

7069
@Inject
7170
public DefaultGraalVmExtension(NamedDomainObjectContainer<NativeImageOptions> nativeImages,
@@ -74,7 +73,6 @@ public DefaultGraalVmExtension(NamedDomainObjectContainer<NativeImageOptions> na
7473
this.nativeImages = nativeImages;
7574
this.plugin = plugin;
7675
this.project = project;
77-
this.toolchainService = project.getExtensions().getByType(JavaToolchainService.class);
7876
this.defaultJavaLauncher = project.getObjects().property(JavaLauncher.class);
7977
getToolchainDetection().convention(true);
8078
nativeImages.configureEach(options -> options.getJavaLauncher().convention(defaultJavaLauncher));
@@ -86,12 +84,15 @@ private void configureToolchain() {
8684
defaultJavaLauncher.convention(
8785
getToolchainDetection().flatMap(enabled -> {
8886
if (enabled) {
89-
return toolchainService.launcherFor(spec -> {
90-
spec.getLanguageVersion().set(JavaLanguageVersion.of(JavaVersion.current().getMajorVersion()));
91-
if (GradleUtils.isAtLeastGradle7()) {
92-
spec.getVendor().set(JvmVendorSpec.matching("GraalVM"));
93-
}
94-
});
87+
JavaToolchainService toolchainService = project.getExtensions().findByType(JavaToolchainService.class);
88+
if (toolchainService != null) {
89+
return toolchainService.launcherFor(spec -> {
90+
spec.getLanguageVersion().set(JavaLanguageVersion.of(JavaVersion.current().getMajorVersion()));
91+
if (GradleUtils.isAtLeastGradle7()) {
92+
spec.getVendor().set(JvmVendorSpec.matching("GraalVM"));
93+
}
94+
});
95+
}
9596
}
9697
return null;
9798
})

0 commit comments

Comments
 (0)