diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 117f13d7..2431d80b 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,11 +4,20 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index 55c0ec2c..0f866762 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/README.md b/README.md index a4b0a388..55540fcf 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Kakao Compose -[![Kotlin version badge](https://img.shields.io/badge/kotlin-1.9.20-blue.svg)](https://kotlinlang.org/) +[![Kotlin version badge](https://img.shields.io/badge/kotlin-2.0.0-blue.svg)](https://kotlinlang.org/) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=RU&color=0088CC)](https://t.me/kaspresso) [![Telegram](https://img.shields.io/static/v1?label=Telegram&message=EN&color=0088CC)](https://t.me/kaspresso_en) diff --git a/build.gradle b/build.gradle deleted file mode 100644 index f5c7696c..00000000 --- a/build.gradle +++ /dev/null @@ -1,23 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. -buildscript { - ext.kotlin_version = "1.9.20" - repositories { - google() - mavenCentral() - } - dependencies { - classpath libs.gradle - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -task clean(type: Delete) { - delete rootProject.buildDir -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 00000000..428e4f33 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,10 @@ +plugins { + alias(libs.plugins.compose.compiler) apply false +} + +allprojects { + repositories { + google() + mavenCentral() + } +} diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 0115b2f8..789cb1ea 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,8 +9,8 @@ repositories { } dependencies { - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20") - implementation("com.android.tools.build:gradle:8.1.4") - implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.9.10") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.0") + implementation("com.android.tools.build:gradle:8.5.0") + implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.9.20") implementation("org.kohsuke:github-api:1.129") } diff --git a/buildsystem/version b/buildsystem/version index 0d91a54c..1d0ba9ea 100644 --- a/buildsystem/version +++ b/buildsystem/version @@ -1 +1 @@ -0.3.0 +0.4.0 diff --git a/compose/build.gradle.kts b/compose/build.gradle.kts index 3b6ea20f..ee93ffe8 100644 --- a/compose/build.gradle.kts +++ b/compose/build.gradle.kts @@ -2,6 +2,7 @@ plugins { id("com.android.library") kotlin ("android") id("org.jetbrains.dokka") + alias(libs.plugins.compose.compiler) } android { diff --git a/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt b/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt index 1526844f..31bb241d 100644 --- a/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt +++ b/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt @@ -1,25 +1,28 @@ package io.github.kakaocup.compose.rule -import androidx.compose.ui.test.SemanticsMatcher -import androidx.compose.ui.test.SemanticsNodeInteraction -import androidx.compose.ui.test.SemanticsNodeInteractionCollection import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import androidx.compose.ui.test.junit4.ComposeContentTestRule import io.github.kakaocup.compose.KakaoCompose import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement class KakaoComposeTestRule( - val semanticsProvider: SemanticsNodeInteractionsProvider, + val semanticsProvider: SemanticsNodeInteractionsProvider? = null, + val useUnmergedTree: Boolean? = null ) : TestRule { override fun apply(base: Statement, description: Description): Statement = object : Statement() { override fun evaluate() { - val oldSemanticsProvided = KakaoCompose.Global.semanticsProvider - KakaoCompose.Global.semanticsProvider = semanticsProvider + val preEvaluatedSemanticsProvided = KakaoCompose.Global.semanticsProvider + semanticsProvider?.let { KakaoCompose.Global.semanticsProvider = it } + val preUseUnmergedTree = KakaoCompose.Override.useUnmergedTree + useUnmergedTree?.let { KakaoCompose.Override.useUnmergedTree = it } + base.evaluate() - KakaoCompose.Global.semanticsProvider = oldSemanticsProvided + + KakaoCompose.Global.semanticsProvider = preEvaluatedSemanticsProvided + KakaoCompose.Override.useUnmergedTree = preUseUnmergedTree } } } + diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ba860780..28e70b84 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,20 +1,20 @@ [versions] -gradleVersion = "8.1.4" -kotlinVersion = "1.9.20" +kotlin = "2.0.0" +gradleVersion = "8.5.0" dokkaVersion = "1.9.10" -appcompatVersion = "1.6.1" -espressoVersion = "3.5.1" +appcompatVersion = "1.7.0" +espressoVersion = "3.6.1" junitVersion = "4.13.2" -junitExtVersion = "1.1.5" +junitExtVersion = "1.2.1" multidexVersion = "2.0.1" -materialVersion = "1.10.0" -activityComposeVersion = "1.8.0" +materialVersion = "1.12.0" +activityComposeVersion = "1.9.0" composeMaterialVersion = "1.3.1" composeCompilerVersion = "1.5.4" -androidxComposeBom = "2023.10.01" +androidxComposeBom = "2024.06.00" [libraries] gradle = { module = "com.android.tools.build:gradle", version.ref = "gradleVersion" } @@ -37,3 +37,8 @@ androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version androidx-multidex-multidex = { group = "androidx.multidex", name = "multidex", version.ref = "multidexVersion" } org-jetbrains-dokka-kotlinAsJavaPlugin = { group = "org.jetbrains.dokka", name = "kotlin-as-java-plugin", version.ref = "dokkaVersion" } + +[plugins] +org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } + +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 81ff0b24..bb38750b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Sat Sep 18 21:53:15 PDT 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index 7b46a77a..32a158fa 100644 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -1,6 +1,7 @@ plugins { id("com.android.application") kotlin("android") + alias(libs.plugins.compose.compiler) } android {