From 13de4da6800970aab83d863a0cb2e1b521b0fbd2 Mon Sep 17 00:00:00 2001 From: raininforest Date: Wed, 6 May 2026 17:30:42 +0300 Subject: [PATCH] chore: update kotlin version --- build-system/conventions/build.gradle.kts | 2 +- .../main/kotlin/convention.cmp-app.gradle.kts | 14 ++++------- .../main/kotlin/convention.cmp-lib.gradle.kts | 5 +--- ...onvention.compose-multiplatform.gradle.kts | 1 + .../main/kotlin/convention.compose.gradle.kts | 5 +++- ...ention.kotlin-java-version-sync.gradle.kts | 12 +++++----- .../convention.maven-publish.gradle.kts | 2 -- .../kotlin/convention.sandbox-app.gradle.kts | 24 ++++++++++--------- .../gradle/wrapper/gradle-wrapper.properties | 2 +- gradle/libs.versions.toml | 14 +++++------ gradle/wrapper/gradle-wrapper.properties | 2 +- playground/build.gradle.kts | 2 -- .../gradle/wrapper/gradle-wrapper.properties | 2 +- sdds-core/build.gradle.kts | 2 -- sdds-core/docs/build.gradle.kts | 2 ++ .../gradle/wrapper/gradle-wrapper.properties | 2 +- sdds-core/uikit-compose/build.gradle.kts | 20 +++++++++------- sdds-core/uikit/build.gradle.kts | 1 - 18 files changed, 54 insertions(+), 60 deletions(-) diff --git a/build-system/conventions/build.gradle.kts b/build-system/conventions/build.gradle.kts index f3680483a1..2c2d4a94f8 100644 --- a/build-system/conventions/build.gradle.kts +++ b/build-system/conventions/build.gradle.kts @@ -12,7 +12,6 @@ dependencies { } implementation(libs.base.gradle.cacheFix) implementation(libs.base.gradle.kotlin) - implementation(libs.base.gradle.paparazzi) implementation(libs.base.gradle.detekt) implementation(libs.base.gradle.spotless) implementation(libs.base.gradle.nexusPublish) @@ -21,6 +20,7 @@ dependencies { implementation(libs.base.dokka) implementation(libs.base.kotlin.serialization.json) implementation(libs.base.kotlin.compiler.embeddable) + implementation(libs.base.kotlin.compose.compiler) implementation("org.commonmark:commonmark:0.21.0") implementation(libs.base.gradle.compose) implementation(libs.base.gradle.mavenpublish) diff --git a/build-system/conventions/src/main/kotlin/convention.cmp-app.gradle.kts b/build-system/conventions/src/main/kotlin/convention.cmp-app.gradle.kts index a24dd9a34b..9c36779949 100644 --- a/build-system/conventions/src/main/kotlin/convention.cmp-app.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.cmp-app.gradle.kts @@ -1,9 +1,11 @@ import com.android.build.gradle.internal.api.BaseVariantOutputImpl +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import utils.versionInfo import utils.withVersionCatalogs plugins { id("com.android.application") + id("org.jetbrains.kotlin.plugin.compose") kotlin("multiplatform") id("org.jetbrains.compose") id("convention.detekt") @@ -11,11 +13,11 @@ plugins { } kotlin { - android { + androidTarget { withVersionCatalogs { compilations.all { - kotlinOptions { - jvmTarget = versions.global.jvmTarget.get() + this@androidTarget.compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(versions.global.jvmTarget.get())) } } } @@ -47,12 +49,6 @@ android { } } - withVersionCatalogs { - composeOptions { - kotlinCompilerExtensionVersion = versions.androidX.compose.compiler.get() - } - } - signingConfigs { create("release") { if (System.getenv("KEY_STORE_FILE") != null) { diff --git a/build-system/conventions/src/main/kotlin/convention.cmp-lib.gradle.kts b/build-system/conventions/src/main/kotlin/convention.cmp-lib.gradle.kts index f9a8e81ea5..e45dc54464 100644 --- a/build-system/conventions/src/main/kotlin/convention.cmp-lib.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.cmp-lib.gradle.kts @@ -4,6 +4,7 @@ plugins { id("com.android.library") id("org.gradle.android.cache-fix") id("convention.kotlin-java-version-sync") + id("org.jetbrains.kotlin.plugin.compose") kotlin("multiplatform") id("org.jetbrains.compose") id("convention.detekt") @@ -23,10 +24,6 @@ android { buildFeatures { compose = true } - - composeOptions { - kotlinCompilerExtensionVersion = versions.androidX.compose.compiler.get() - } } buildTypes { diff --git a/build-system/conventions/src/main/kotlin/convention.compose-multiplatform.gradle.kts b/build-system/conventions/src/main/kotlin/convention.compose-multiplatform.gradle.kts index 2b57077c1a..93df1539c0 100644 --- a/build-system/conventions/src/main/kotlin/convention.compose-multiplatform.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.compose-multiplatform.gradle.kts @@ -1,6 +1,7 @@ import org.gradle.kotlin.dsl.kotlin plugins { + id("org.jetbrains.kotlin.plugin.compose") kotlin("multiplatform") id("org.jetbrains.compose") } diff --git a/build-system/conventions/src/main/kotlin/convention.compose.gradle.kts b/build-system/conventions/src/main/kotlin/convention.compose.gradle.kts index 66a809fe11..7385d4d0b5 100644 --- a/build-system/conventions/src/main/kotlin/convention.compose.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.compose.gradle.kts @@ -3,6 +3,10 @@ import com.android.build.api.dsl.CommonExtension import com.android.build.api.dsl.LibraryExtension import utils.withVersionCatalogs +plugins { + id("org.jetbrains.kotlin.plugin.compose") +} + val extension = app() ?: lib() ?: throwApplyException() extension.configureCompose() @@ -20,7 +24,6 @@ fun throwApplyException(): Nothing = fun CommonExtension<*, *, *, *, *, *>.configureCompose() = withVersionCatalogs { buildFeatures.compose = true - composeOptions.kotlinCompilerExtensionVersion = versions.androidX.compose.compiler.get() dependencies { // Эта зависимость в обязательном порядке нужна компилятору Compose по этому есть смысл diff --git a/build-system/conventions/src/main/kotlin/convention.kotlin-java-version-sync.gradle.kts b/build-system/conventions/src/main/kotlin/convention.kotlin-java-version-sync.gradle.kts index 5996abc66d..64de57eed4 100644 --- a/build-system/conventions/src/main/kotlin/convention.kotlin-java-version-sync.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.kotlin-java-version-sync.gradle.kts @@ -1,3 +1,4 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KaptGenerateStubs import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import utils.withVersionCatalogs @@ -6,16 +7,15 @@ description = "Синхронизация версий Java для Kotlin и Jav withVersionCatalogs { tasks.withType().configureEach { - kotlinOptions { - jvmTarget = versions.global.jvmTarget.get() + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(versions.global.jvmTarget.get())) } } tasks.withType().configureEach { - kotlinOptions { - jvmTarget = versions.global.jvmTarget.get() - freeCompilerArgs = freeCompilerArgs + - "-opt-in=kotlin.RequiresOptIn" + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(versions.global.jvmTarget.get())) + freeCompilerArgs.add("-opt-in=kotlin.RequiresOptIn") } } tasks.withType().configureEach { diff --git a/build-system/conventions/src/main/kotlin/convention.maven-publish.gradle.kts b/build-system/conventions/src/main/kotlin/convention.maven-publish.gradle.kts index d6f5cdde07..932f66f74f 100644 --- a/build-system/conventions/src/main/kotlin/convention.maven-publish.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.maven-publish.gradle.kts @@ -1,6 +1,4 @@ import com.vanniktech.maven.publish.SonatypeHost -import gradle.kotlin.dsl.accessors._8edd1b0c1852f0ac869e9c414c462ba9.mavenPublishing -import gradle.kotlin.dsl.accessors._8edd1b0c1852f0ac869e9c414c462ba9.publishing import utils.findPropertyOrDefault import utils.versionInfo import org.gradle.api.publish.maven.tasks.PublishToMavenRepository diff --git a/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts b/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts index 762d197223..5add20beca 100644 --- a/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts +++ b/build-system/conventions/src/main/kotlin/convention.sandbox-app.gradle.kts @@ -56,17 +56,6 @@ android { tasks.withType { maxHeapSize = "4096m" } - kotlinOptions { - //comment following lines (freeCompilerArgs) to disable compose-metrics - freeCompilerArgs += listOf( - "-P", - "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + project.buildDir.absolutePath + "/compose_metrics" - ) - freeCompilerArgs += listOf( - "-P", - "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + project.buildDir.absolutePath + "/compose_metrics" - ) - } signingConfigs { create("release") { @@ -91,6 +80,19 @@ android { } } +kotlin { + compilerOptions { + freeCompilerArgs.addAll( + listOf( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=${project.buildDir.absolutePath}/compose_metrics", + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=${project.buildDir.absolutePath}/compose_metrics" + ) + ) + } +} + val APP_DISTRIBUTION_NAME = "sandbox-compose-app-release" tasks.register("generateVersionDescription") { diff --git a/build-system/gradle/wrapper/gradle-wrapper.properties b/build-system/gradle/wrapper/gradle-wrapper.properties index 6b397cd782..8e1192b403 100644 --- a/build-system/gradle/wrapper/gradle-wrapper.properties +++ b/build-system/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Feb 22 10:32:29 MSK 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 1379a253e9..c2fe790534 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] -global-gradle = "8.3.2" +global-gradle = "8.8.2" global-jvmTarget = "1.8" -global-kotlin = "1.9.25" +global-kotlin = "2.1.10" global-compileSdk = "35" global-targetSdk = "35" global-minSdk = "24" @@ -30,8 +30,7 @@ androidX-recyclerView = "1.1.0" test-espresso = "3.4.0" test-jUnit = "4.13.2" test-jUnitIntegration = "1.1.5" -test-mockk = "1.12.2" -test-paparazzi = "1.1.0" +test-mockk = "1.14.2" test-robolectric = "4.10" test-androidX-rules = "1.5.0" test-androidX-runner = "1.5.2" @@ -39,7 +38,7 @@ test-roborazzi = "1.44.0" test-assertk = "0.28.1" kotlinSerialization = "1.4.0" -kotlinKsp = "1.9.25-1.0.20" +kotlinKsp = "2.1.10-1.0.31" kotlinPoet = "1.12.0" kotlinCoroutines = "1.6.1" glide = "4.16.0" @@ -58,7 +57,7 @@ plugin-gradleNexusPublish = "1.3.0" plugin-gradlePluginPublish = "1.2.1" plugin-binary-compatibility-validator = "0.14.0" plugin-compose-multiplatform = "1.7.3" -plugin-poko = "0.15.3" +plugin-poko = "0.18.0" plugin-metalava = "0.3.5" plugin-dokka = "1.8.20" @@ -96,6 +95,7 @@ base-kotlin-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-seria base-kotlin-poet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinPoet"} base-kotlin-poetKsp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinPoet"} base-kotlin-compiler-embeddable = { module = "org.jetbrains.kotlin:kotlin-compiler-embeddable", version.ref = "global-kotlin"} +base-kotlin-compose-compiler = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin", version.ref = "global-kotlin" } base-kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinCoroutines"} base-staticAnalysis-ktlint = { module = "com.pinterest:ktlint", version.ref = "staticAnalysis-ktlint" } @@ -122,7 +122,6 @@ base-test-ui-compose-uiTestManifest = { module = "androidx.compose.ui:ui-test-ma base-gradle-android = { module = "com.android.tools.build:gradle", version.ref = "global-gradle" } base-gradle-detekt = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin", version.ref = "staticAnalysis-detekt" } base-gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "global-kotlin" } -base-gradle-paparazzi = { module = "app.cash.paparazzi:paparazzi-gradle-plugin", version.ref = "test-paparazzi" } base-gradle-spotless= { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "staticAnalysis-spotless" } base-gradle-cacheFix= { module = "org.gradle.android.cache-fix:org.gradle.android.cache-fix.gradle.plugin", version.ref = "plugin-androidCacheFix" } base-gradle-nexusPublish= { module = "io.github.gradle-nexus:publish-plugin", version.ref = "plugin-gradleNexusPublish" } @@ -156,7 +155,6 @@ kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "global-kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "global-kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "global-kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "kotlinKsp" } -paparazzi = { id = "app.cash.paparazzi", version.ref = "test-paparazzi" } jgp = { id = "java-gradle-plugin" } android-cache-fix = { id = "org.gradle.android.cache-fix", version.ref= "plugin-androidCacheFix" } gradleNexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "plugin-gradleNexusPublish" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 621365578c..f51dcbb76c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Wed Feb 07 16:56:30 MSK 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/playground/build.gradle.kts b/playground/build.gradle.kts index 55c389e397..3f93bcd78e 100644 --- a/playground/build.gradle.kts +++ b/playground/build.gradle.kts @@ -7,7 +7,6 @@ plugins { alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.jvm) apply false alias(libs.plugins.android.cache.fix) apply false - alias(libs.plugins.paparazzi) apply false } buildscript { @@ -29,7 +28,6 @@ buildscript { classpath(libs.base.gradle.kotlin) classpath(libs.base.gradle.detekt) classpath(libs.base.gradle.spotless) - classpath(libs.base.gradle.paparazzi) classpath(libs.base.gradle.cacheFix) classpath(files("../build-system/libs/star-dimens.jar")) } diff --git a/playground/gradle/wrapper/gradle-wrapper.properties b/playground/gradle/wrapper/gradle-wrapper.properties index 8dd2bcec20..f94b32cbd8 100644 --- a/playground/gradle/wrapper/gradle-wrapper.properties +++ b/playground/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Mon Mar 04 17:09:42 MSK 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sdds-core/build.gradle.kts b/sdds-core/build.gradle.kts index 6007e18f30..4c77fdaeb4 100644 --- a/sdds-core/build.gradle.kts +++ b/sdds-core/build.gradle.kts @@ -7,7 +7,6 @@ plugins { alias(libs.plugins.kotlin.android) apply false alias(libs.plugins.kotlin.jvm) apply false alias(libs.plugins.android.cache.fix) apply false - alias(libs.plugins.paparazzi) apply false alias(libs.plugins.gradlePluginPublish) apply false alias(libs.plugins.ksp) apply false } @@ -27,7 +26,6 @@ buildscript { classpath(libs.base.gradle.kotlin) classpath(libs.base.gradle.detekt) classpath(libs.base.gradle.spotless) - classpath(libs.base.gradle.paparazzi) classpath(libs.base.gradle.cacheFix) } } diff --git a/sdds-core/docs/build.gradle.kts b/sdds-core/docs/build.gradle.kts index a0592484f4..5ff12db3ca 100644 --- a/sdds-core/docs/build.gradle.kts +++ b/sdds-core/docs/build.gradle.kts @@ -1,3 +1,5 @@ plugins { id("convention.kotlin-lib") } + +group = "sdds-core" diff --git a/sdds-core/gradle/wrapper/gradle-wrapper.properties b/sdds-core/gradle/wrapper/gradle-wrapper.properties index d9b1337007..f270bb2cd8 100644 --- a/sdds-core/gradle/wrapper/gradle-wrapper.properties +++ b/sdds-core/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Thu Feb 22 11:08:38 MSK 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-all.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/sdds-core/uikit-compose/build.gradle.kts b/sdds-core/uikit-compose/build.gradle.kts index 150c2408db..16ba6d68c6 100644 --- a/sdds-core/uikit-compose/build.gradle.kts +++ b/sdds-core/uikit-compose/build.gradle.kts @@ -5,7 +5,6 @@ plugins { id("convention.compose") id("convention.auto-bump") id("convention.dokka") - alias(libs.plugins.paparazzi) alias(libs.plugins.binary.compatibility.validator) } @@ -13,15 +12,18 @@ group = "sdds-core" android { namespace = "com.sdds.compose.uikit" +} - kotlinOptions { - //comment following lines (freeCompilerArgs) to disable compose-metrics - freeCompilerArgs += listOf( - "-P", - "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=" + project.buildDir.absolutePath + "/compose_metrics") - freeCompilerArgs += listOf( - "-P", - "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=" + project.buildDir.absolutePath + "/compose_metrics") +kotlin { + compilerOptions { + freeCompilerArgs.addAll( + listOf( + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:metricsDestination=${project.buildDir.absolutePath}/compose_metrics", + "-P", + "plugin:androidx.compose.compiler.plugins.kotlin:reportsDestination=${project.buildDir.absolutePath}/compose_metrics" + ) + ) } } diff --git a/sdds-core/uikit/build.gradle.kts b/sdds-core/uikit/build.gradle.kts index 93bd5d0fb6..e9c5a3a194 100644 --- a/sdds-core/uikit/build.gradle.kts +++ b/sdds-core/uikit/build.gradle.kts @@ -4,7 +4,6 @@ plugins { id("convention.maven-publish") id("convention.auto-bump") id("convention.dokka") - alias(libs.plugins.paparazzi) alias(libs.plugins.binary.compatibility.validator) }