From bfd8c79447d37c4d3465f377d107c80e0546f9e2 Mon Sep 17 00:00:00 2001 From: Victor Kropp Date: Mon, 27 Oct 2025 17:08:51 +0100 Subject: [PATCH] fix templates after deprecating Gradle plugin dependency aliases (#5464) Update miscellaneous projects used in pipeline Fixes CMP-7613 ## Release Notes N/A --- .../html-library-template/build.gradle.kts | 9 +++------ .../gradle/libs.versions.toml | 6 ++++++ .../html-library-template/settings.gradle.kts | 8 ++++++++ .../multiplatform-template/common/build.gradle.kts | 8 ++++---- .../gradle/libs.versions.toml | 8 ++++++++ .../multiplatform-template/settings.gradle.kts | 8 ++++++++ components/AnimatedImage/library/build.gradle.kts | 4 ++-- components/SplitPane/library/build.gradle.kts | 4 ++-- components/gradle/libs.versions.toml | 13 ++++++++++++- .../resources/demo/androidApp/build.gradle.kts | 4 ++-- components/resources/demo/shared/build.gradle.kts | 12 ++++-------- components/resources/library/build.gradle.kts | 9 ++++----- components/settings.gradle.kts | 6 ++++++ .../demo/shared/build.gradle.kts | 6 +++--- examples/chat/gradle/libs.versions.toml | 12 ++++++++++++ examples/chat/settings.gradle.kts | 7 +++++++ examples/chat/shared/build.gradle.kts | 14 +++++++------- tutorials/HTML/Getting_Started/README.md | 4 ++-- 18 files changed, 100 insertions(+), 42 deletions(-) create mode 100644 ci/templates/html-library-template/gradle/libs.versions.toml create mode 100644 ci/templates/multiplatform-template/gradle/libs.versions.toml create mode 100644 examples/chat/gradle/libs.versions.toml diff --git a/ci/templates/html-library-template/build.gradle.kts b/ci/templates/html-library-template/build.gradle.kts index 9e0076a6df..5d655027c0 100644 --- a/ci/templates/html-library-template/build.gradle.kts +++ b/ci/templates/html-library-template/build.gradle.kts @@ -1,6 +1,3 @@ -import org.jetbrains.compose.desktop.application.dsl.TargetFormat -import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension - plugins { kotlin("multiplatform") kotlin("plugin.compose") @@ -14,7 +11,7 @@ repositories { } kotlin { - js(IR) { + js { browser() binaries.executable() } @@ -24,8 +21,8 @@ kotlin { resources.srcDir("src/main/resources") dependencies { - implementation(compose.web.core) - implementation(compose.runtime) + implementation(libs.compose.html.core) + implementation(libs.compose.runtime) } } } diff --git a/ci/templates/html-library-template/gradle/libs.versions.toml b/ci/templates/html-library-template/gradle/libs.versions.toml new file mode 100644 index 0000000000..c2ae2770c3 --- /dev/null +++ b/ci/templates/html-library-template/gradle/libs.versions.toml @@ -0,0 +1,6 @@ +[versions] +compose = "1.9.0" + +[libraries] +compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose" } +compose-html-core = { module = "org.jetbrains.compose.html:html-core", version.ref = "compose" } \ No newline at end of file diff --git a/ci/templates/html-library-template/settings.gradle.kts b/ci/templates/html-library-template/settings.gradle.kts index 9c31eaf35b..0f7d18dbec 100644 --- a/ci/templates/html-library-template/settings.gradle.kts +++ b/ci/templates/html-library-template/settings.gradle.kts @@ -9,4 +9,12 @@ pluginManagement { kotlin("plugin.compose").version(extra["kotlin.version"] as String) id("org.jetbrains.compose").version(extra["compose.version"] as String) } +} + +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + version("compose", extra["compose.version"].toString()) + } + } } \ No newline at end of file diff --git a/ci/templates/multiplatform-template/common/build.gradle.kts b/ci/templates/multiplatform-template/common/build.gradle.kts index 96559269f0..693d7493e9 100644 --- a/ci/templates/multiplatform-template/common/build.gradle.kts +++ b/ci/templates/multiplatform-template/common/build.gradle.kts @@ -12,11 +12,11 @@ kotlin { sourceSets { named("commonMain") { dependencies { - api(compose.runtime) - api(compose.foundation) - api(compose.material) + api(libs.compose.runtime) + api(libs.compose.foundation) + api(libs.compose.material) // Needed only for preview. - implementation(compose.preview) + implementation(libs.compose.ui.tooling.preview) } } named("androidMain") { diff --git a/ci/templates/multiplatform-template/gradle/libs.versions.toml b/ci/templates/multiplatform-template/gradle/libs.versions.toml new file mode 100644 index 0000000000..0d8e630501 --- /dev/null +++ b/ci/templates/multiplatform-template/gradle/libs.versions.toml @@ -0,0 +1,8 @@ +[versions] +compose = "1.9.0" + +[libraries] +compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose" } +compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose" } +compose-material = { module = "org.jetbrains.compose.material:material", version.ref = "compose" } +compose-ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "compose" } \ No newline at end of file diff --git a/ci/templates/multiplatform-template/settings.gradle.kts b/ci/templates/multiplatform-template/settings.gradle.kts index c97c37eb51..3f4327ba65 100644 --- a/ci/templates/multiplatform-template/settings.gradle.kts +++ b/ci/templates/multiplatform-template/settings.gradle.kts @@ -16,6 +16,14 @@ pluginManagement { } } +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + version("compose", extra["compose.version"].toString()) + } + } +} + plugins { id("org.gradle.toolchains.foojay-resolver-convention") version("0.4.0") } diff --git a/components/AnimatedImage/library/build.gradle.kts b/components/AnimatedImage/library/build.gradle.kts index d842a06507..6888870eba 100644 --- a/components/AnimatedImage/library/build.gradle.kts +++ b/components/AnimatedImage/library/build.gradle.kts @@ -14,8 +14,8 @@ kotlin { } } commonMain.dependencies { - api(compose.runtime) - api(compose.foundation) + api(libs.compose.runtime) + api(libs.compose.foundation) } } } diff --git a/components/SplitPane/library/build.gradle.kts b/components/SplitPane/library/build.gradle.kts index d0b66d7c44..49cc9fb50c 100644 --- a/components/SplitPane/library/build.gradle.kts +++ b/components/SplitPane/library/build.gradle.kts @@ -16,8 +16,8 @@ kotlin { } commonMain.dependencies { - api(compose.runtime) - api(compose.foundation) + api(libs.compose.runtime) + api(libs.compose.foundation) } } } diff --git a/components/gradle/libs.versions.toml b/components/gradle/libs.versions.toml index fdbf94e1ed..74f9ba924b 100644 --- a/components/gradle/libs.versions.toml +++ b/components/gradle/libs.versions.toml @@ -1,3 +1,5 @@ +# Version catalog has been renamed to be imported manually with overriden 'compose' version + [versions] kotlinx-coroutines = "1.8.0" androidx-appcompat = "1.6.1" @@ -5,6 +7,8 @@ androidx-activity-compose = "1.8.2" androidx-test = "1.5.0" androidx-compose = "1.6.1" kotlinx-browser = "0.5.0" +compose = "1.9.0" +material3 = "1.9.0" [libraries] kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } @@ -18,4 +22,11 @@ androidx-compose-ui-test = { module = "androidx.compose.ui:ui-test", version.ref androidx-compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidx-compose" } androidx-compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4", version.ref = "androidx-compose" } androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "androidx-compose" } -androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "androidx-compose" } \ No newline at end of file +androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "androidx-compose" } +compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose" } +compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose" } +compose-desktop = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "compose" } +compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose" } +compose-ui-test = { module = "org.jetbrains.compose.ui:ui-test", version.ref = "compose" } +compose-material-icons-core = { module = "org.jetbrains.compose.material:material-icons-core", version = "1.7.3" } +compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "material3" } diff --git a/components/resources/demo/androidApp/build.gradle.kts b/components/resources/demo/androidApp/build.gradle.kts index eeb715c2de..dffff7b072 100644 --- a/components/resources/demo/androidApp/build.gradle.kts +++ b/components/resources/demo/androidApp/build.gradle.kts @@ -20,8 +20,8 @@ android { targetCompatibility = JavaVersion.VERSION_11 } dependencies { - implementation(compose.ui) - implementation(compose.foundation) + implementation(libs.compose.ui) + implementation(libs.compose.foundation) implementation(libs.androidx.appcompat) implementation(libs.androidx.activity.compose) implementation(project(":resources:demo:shared")) diff --git a/components/resources/demo/shared/build.gradle.kts b/components/resources/demo/shared/build.gradle.kts index 7087081ff1..6930942a4f 100644 --- a/components/resources/demo/shared/build.gradle.kts +++ b/components/resources/demo/shared/build.gradle.kts @@ -49,13 +49,13 @@ kotlin { val wasmJsMain by getting commonMain.dependencies { - implementation(compose.runtime) - implementation(compose.material3) - implementation("org.jetbrains.compose.material:material-icons-core:1.7.3") + implementation(libs.compose.runtime) + implementation(libs.compose.material3) + implementation(libs.compose.material.icons.core) implementation(project(":resources:library")) } desktopMain.dependencies { - implementation(compose.desktop.common) + implementation(libs.compose.desktop) } androidMain.dependencies { implementation(libs.androidx.ui.tooling) @@ -87,10 +87,6 @@ android { } } -compose.experimental { - web.application {} -} - //because the dependency on the compose library is a project dependency compose.resources { generateResClass = always diff --git a/components/resources/library/build.gradle.kts b/components/resources/library/build.gradle.kts index 9ffb539905..1a02d26910 100644 --- a/components/resources/library/build.gradle.kts +++ b/components/resources/library/build.gradle.kts @@ -77,8 +77,8 @@ kotlin { val commonMain by getting { dependencies { - implementation(compose.runtime) - implementation(compose.foundation) + implementation(libs.compose.runtime) + implementation(libs.compose.foundation) implementation(libs.kotlinx.coroutines.core) } } @@ -86,9 +86,8 @@ kotlin { dependencies { implementation(kotlin("test")) implementation(libs.kotlinx.coroutines.test) - implementation(compose.material3) - @OptIn(ExperimentalComposeLibrary::class) - implementation(compose.uiTest) + implementation(libs.compose.material3) + implementation(libs.compose.ui.test) } } val blockingMain by creating { diff --git a/components/settings.gradle.kts b/components/settings.gradle.kts index 7ba510b765..4cbafb68d4 100644 --- a/components/settings.gradle.kts +++ b/components/settings.gradle.kts @@ -33,6 +33,12 @@ dependencyResolutionManagement { mavenCentral() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") } + + versionCatalogs { + create("libs") { + version("compose", extra["compose.version"].toString()) + } + } } include(":SplitPane:library") diff --git a/components/ui-tooling-preview/demo/shared/build.gradle.kts b/components/ui-tooling-preview/demo/shared/build.gradle.kts index c51f2841e3..94815bf274 100644 --- a/components/ui-tooling-preview/demo/shared/build.gradle.kts +++ b/components/ui-tooling-preview/demo/shared/build.gradle.kts @@ -50,13 +50,13 @@ kotlin { sourceSets { commonMain.dependencies { - implementation(compose.runtime) - implementation(compose.material3) + implementation(libs.compose.runtime) + implementation(libs.compose.material3) implementation(project(":ui-tooling-preview:library")) } val desktopMain by getting desktopMain.dependencies { - implementation(compose.desktop.common) + implementation(libs.compose.desktop) } } } diff --git a/examples/chat/gradle/libs.versions.toml b/examples/chat/gradle/libs.versions.toml new file mode 100644 index 0000000000..32ffe56dcf --- /dev/null +++ b/examples/chat/gradle/libs.versions.toml @@ -0,0 +1,12 @@ +[versions] +compose = "1.9.1" +kotlinxDatetime = "0.5.0" + +[libraries] +compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose" } +kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" } +compose-desktop = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "compose" } +material = { module = "org.jetbrains.compose.material:material", version.ref = "compose" } +material-icons-core = { module = "org.jetbrains.compose.material:material-icons-core", version = "1.7.3" } +compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose" } +components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "compose"} \ No newline at end of file diff --git a/examples/chat/settings.gradle.kts b/examples/chat/settings.gradle.kts index b3bc9d5cc5..397c79aadb 100644 --- a/examples/chat/settings.gradle.kts +++ b/examples/chat/settings.gradle.kts @@ -20,6 +20,13 @@ pluginManagement { id("org.jetbrains.compose").version(composeVersion) } } +dependencyResolutionManagement { + versionCatalogs { + create("libs") { + version("compose", extra["compose.version"].toString()) + } + } +} plugins { id("org.gradle.toolchains.foojay-resolver-convention") version("0.4.0") diff --git a/examples/chat/shared/build.gradle.kts b/examples/chat/shared/build.gradle.kts index 38787384ee..3e89c6530a 100644 --- a/examples/chat/shared/build.gradle.kts +++ b/examples/chat/shared/build.gradle.kts @@ -54,12 +54,12 @@ kotlin { } val commonMain by getting { dependencies { - implementation(compose.ui) - implementation(compose.foundation) - implementation(compose.material) - implementation(compose.components.resources) - implementation("org.jetbrains.compose.material:material-icons-core:1.6.11") - implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.5.0") + implementation(libs.compose.ui) + implementation(libs.compose.foundation) + implementation(libs.material) + implementation(libs.components.resources) + implementation(libs.material.icons.core) + implementation(libs.kotlinx.datetime) } } val androidMain by getting { @@ -83,7 +83,7 @@ kotlin { } val desktopMain by getting { dependencies { - implementation(compose.desktop.common) + implementation(libs.compose.desktop) } } diff --git a/tutorials/HTML/Getting_Started/README.md b/tutorials/HTML/Getting_Started/README.md index e2885f823a..5114d87a0c 100644 --- a/tutorials/HTML/Getting_Started/README.md +++ b/tutorials/HTML/Getting_Started/README.md @@ -56,8 +56,8 @@ kotlin { sourceSets { val jsMain by getting { dependencies { - implementation(compose.html.core) - implementation(compose.runtime) + implementation("org.jetbrains.compose.html:html-core:1.9.0") + implementation("org.jetbrains.compose:compose-runtime:1.9.0") } } }