From 9b453a916496066875105d5855e64f02f82dbabf Mon Sep 17 00:00:00 2001 From: Oleksandr Karpovich Date: Mon, 3 Jun 2024 16:44:05 +0200 Subject: [PATCH] Fix eager tryGetSkikoRuntimeIfNeeded (#4918) Fixes #4886 ## Testing - Built the gradle plugin to mavenLocal - used it in the reproducer of #4886, - the issue is gonve This should be tested by QA ## Release Notes ### Fixes - Gradle Plugin - Make sure tryGetSkikoRuntimeIfNeeded is executed only during the task execution --- .../compose/desktop/preview/internal/configurePreview.kt | 2 +- .../preview/tasks/AbstractConfigureDesktopPreviewTask.kt | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/internal/configurePreview.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/internal/configurePreview.kt index 83f06a9805..80977d917d 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/internal/configurePreview.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/internal/configurePreview.kt @@ -34,7 +34,7 @@ private fun registerConfigurePreviewTask( ) { previewTask -> runtimeFiles.configureUsageBy(previewTask) { (runtimeJars, _) -> previewClasspath = runtimeJars - skikoRuntime = tryGetSkikoRuntimeIfNeeded() + skikoRuntime.set(project.provider { tryGetSkikoRuntimeIfNeeded() }) } } } diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/tasks/AbstractConfigureDesktopPreviewTask.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/tasks/AbstractConfigureDesktopPreviewTask.kt index 02bab85264..a61e5f732d 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/tasks/AbstractConfigureDesktopPreviewTask.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/preview/tasks/AbstractConfigureDesktopPreviewTask.kt @@ -19,7 +19,7 @@ abstract class AbstractConfigureDesktopPreviewTask : AbstractComposeDesktopTask( internal lateinit var previewClasspath: FileCollection @get:InputFiles - internal lateinit var skikoRuntime: FileCollection + internal abstract val skikoRuntime: Property @get:Internal internal val javaHome: Property = objects.notNullProperty().apply { @@ -58,10 +58,12 @@ abstract class AbstractConfigureDesktopPreviewTask : AbstractComposeDesktopTask( javaExecutable = javaExecutable(javaHome.get()), hostClasspath = hostClasspath.files.asSequence().pathString() ) + + val skikoRuntimeFiles = skikoRuntime.get() val previewClasspathString = (previewClasspath.files.asSequence() + uiTooling.files.asSequence() + - skikoRuntime.files.asSequence() + skikoRuntimeFiles.files.asSequence() ).pathString() val gradleLogger = logger