diff --git a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt index a831a9e8a74..a6fb7e4fce6 100644 --- a/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt +++ b/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/ComposePlugin.kt @@ -31,6 +31,7 @@ import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.dsl.KotlinCompile internal val composeVersion get() = ComposeBuildConfig.composeVersion +internal val skikoVersion get() = ComposeBuildConfig.skikoVersion class ComposePlugin : Plugin { override fun apply(project: Project) { @@ -90,6 +91,7 @@ class ComposePlugin : Plugin { @Deprecated("Use compose.html", replaceWith = ReplaceWith("html")) val web: WebDependencies get() = WebDependencies val html: HtmlDependencies get() = HtmlDependencies + val skiko: SkikoDependencies } object DesktopDependencies { @@ -158,6 +160,21 @@ class ComposePlugin : Plugin { composeDependency("org.jetbrains.compose.html:html-test-utils") } } + + object SkikoDependencies { + val common = skikoDependency("org.jetbrains.skiko:skiko") + val desktop = skikoDependency("org.jetbrains.skiko:skiko-awt") + val linux_x64 = skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-linux-x64") + val linux_arm64 = skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-linux-arm64") + val windows_x64 = skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-windows-x64") + val windows_arm64 = skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-windows-arm64") + val macos_x64 = skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-macos-x64") + val macos_arm64 = skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-macos-arm64") + + val currentOs by lazy { + skikoDependency("org.jetbrains.skiko:skiko-awt-runtime-${currentTarget.id}") + } + } } fun RepositoryHandler.jetbrainsCompose(): MavenArtifactRepository = @@ -169,6 +186,8 @@ fun DependencyHandler.compose(groupWithArtifact: String) = composeDependency(gro private fun composeDependency(groupWithArtifact: String) = "$groupWithArtifact:$composeVersion" +private fun skikoDependency(groupWithArtifact: String) = "$groupWithArtifact:$skikoVersion" + private fun setUpGroovyDslExtensions(project: Project) { project.plugins.withId("org.jetbrains.kotlin.multiplatform") { (project.extensions.getByName("kotlin") as? ExtensionAware)?.apply { diff --git a/gradle-plugins/gradle.properties b/gradle-plugins/gradle.properties index b0d82a5eed4..f84fc36f80b 100644 --- a/gradle-plugins/gradle.properties +++ b/gradle-plugins/gradle.properties @@ -11,6 +11,8 @@ compose.tests.compiler.compatible.kotlin.version=1.8.20 compose.tests.js.compiler.compatible.kotlin.version=1.8.20 # __SUPPORTED_GRADLE_VERSIONS__ compose.tests.gradle.versions=7.3.3, 8.1 +# Skiko version that used by Compose Libraries +skiko.version=0.7.69 # A version of Gradle plugin, that will be published, # unless overridden by COMPOSE_GRADLE_PLUGIN_VERSION env var.