Skip to content

Commit e948593

Browse files
committed
Use non-eager transformation when checking if a build report is being emitted
1 parent 1c497ea commit e948593

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

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

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -398,15 +398,20 @@ private void configureAutomaticTaskCreation(Project project,
398398
tasks,
399399
deriveTaskName(binaryName, "generate", "DynamicAccessMetadata"));
400400
imageBuilder.configure(buildImageTask -> {
401-
if (buildImageTask.getOptions().get().getBuildArgs().get().stream()
402-
.anyMatch(arg -> arg.startsWith("--emit build-report"))) {
403-
options.getClasspath().from(
404-
generateDynamicAccessMetadata.flatMap(task ->
405-
task.getOutputJson().map(RegularFile::getAsFile)
406-
)
407-
);
408-
}
401+
Provider<Boolean> emittingBuildReport =
402+
buildImageTask.getOptions()
403+
.flatMap(o -> o.getBuildArgs()
404+
.map(args -> args.stream()
405+
.anyMatch(arg -> arg.startsWith("--emit build-report"))));
406+
options.getClasspath().from(
407+
emittingBuildReport.flatMap(enabled ->
408+
enabled
409+
? generateDynamicAccessMetadata.flatMap(task ->
410+
task.getOutputJson().map(RegularFile::getAsFile))
411+
: buildImageTask.getProject().provider(Collections::emptyList))
412+
);
409413
});
414+
410415
configureJvmReachabilityConfigurationDirectories(project, graalExtension, options, sourceSet);
411416
configureJvmReachabilityExcludeConfigArgs(project, graalExtension, options, sourceSet);
412417
});

0 commit comments

Comments
 (0)