From b52709684d3312d69f684da27d42f0d9ecc12721 Mon Sep 17 00:00:00 2001 From: Konstantin Ivanov <54908981+konstantiniiv@users.noreply.github.com> Date: Wed, 26 Jun 2024 17:28:04 +0200 Subject: [PATCH] DROID-503 App | Tech | Upgrade to Kotlin 2.0 (#1328) --- .gitignore | 3 +- app/build.gradle | 5 +-- build.gradle | 1 + core-ui/build.gradle | 5 +-- gallery-experience/build.gradle | 5 +-- gradle/libs.versions.toml | 7 ++-- payments/build.gradle | 4 +- .../home/HomeScreenViewModelTest.kt | 41 ++++++++++--------- sample/build.gradle | 4 +- ui-settings/build.gradle | 5 +-- 10 files changed, 34 insertions(+), 46 deletions(-) diff --git a/.gitignore b/.gitignore index f0985332a5..d224ec73ce 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,5 @@ ktlint .idea/*.xml signing.properties -app/release \ No newline at end of file +app/release +.kotlin/ \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index eba2c12b44..f26dfa8bb6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -2,6 +2,7 @@ plugins { id "com.android.application" id "kotlin-android" id "kotlin-kapt" + alias(libs.plugins.compose.compiler) id "com.google.firebase.appdistribution" } @@ -119,10 +120,6 @@ android { } } - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeKotlinCompilerVersion.get() - } - buildFeatures { viewBinding true compose true diff --git a/build.gradle b/build.gradle index 48dee18b82..48b7700eae 100644 --- a/build.gradle +++ b/build.gradle @@ -40,6 +40,7 @@ plugins { alias(libs.plugins.application) apply false alias(libs.plugins.library) apply false alias(libs.plugins.kotlinAndroid) apply false + alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.kserialization) apply false alias(libs.plugins.wire) apply false alias(libs.plugins.dokka) apply false diff --git a/core-ui/build.gradle b/core-ui/build.gradle index caed5e84ad..1225a283ff 100644 --- a/core-ui/build.gradle +++ b/core-ui/build.gradle @@ -2,6 +2,7 @@ plugins { id "com.android.library" id "kotlin-android" id "kotlin-parcelize" + alias(libs.plugins.compose.compiler) } android { @@ -9,10 +10,6 @@ android { defaultConfig { buildConfigField "boolean", "USE_NEW_WINDOW_INSET_API", "true" } - - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeKotlinCompilerVersion.get() - } buildFeatures { viewBinding true diff --git a/gallery-experience/build.gradle b/gallery-experience/build.gradle index a4699da2a9..8eecdf8d93 100644 --- a/gallery-experience/build.gradle +++ b/gallery-experience/build.gradle @@ -1,6 +1,7 @@ plugins { id "com.android.library" id "kotlin-android" + alias(libs.plugins.compose.compiler) } android { @@ -11,10 +12,6 @@ android { compose true } - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeKotlinCompilerVersion.get() - } - namespace 'com.anytypeio.anytype.galleryexperience' } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6cff217fe8..07d7e954bc 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,11 +1,10 @@ [versions] middlewareVersion = "v0.34.3" -kotlinVersion = '1.9.22' +kotlinVersion = '2.0.0' androidxCoreVersion = "1.13.0" androidxComposeVersion = '1.6.8' -composeKotlinCompilerVersion = '1.5.10' composeMaterial3Version = '1.2.1' composeMaterialVersion = '1.6.6' composeConstraintLayoutVersion = '1.0.1' @@ -21,7 +20,7 @@ fragmentVersion = "1.8.0" exoplayerVersion = "2.19.1" wireVersion = "4.9.8" glideVersion = "4.14.2" -mockitoKotlinVersion = "5.2.1" +mockitoKotlinVersion = "5.3.1" junitVersion = '4.13.2' androidJunitVersion = "1.1.5" runnerVersion = "1.5.2" @@ -176,6 +175,8 @@ playBilling = { module = "com.android.billingclient:billing", version = "7.0.0" application = { id = "com.android.application", version = "8.4.1" } library = { id = "com.android.library", version = "8.4.1" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinVersion" } +org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinVersion" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlinVersion" } dokka = { id = "org.jetbrains.dokka", version.ref = "dokkaVersion" } kserialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlinVersion" } wire = { id = "com.squareup.wire", version = "4.9.8" } diff --git a/payments/build.gradle b/payments/build.gradle index bffdcc683f..664d63713f 100644 --- a/payments/build.gradle +++ b/payments/build.gradle @@ -1,6 +1,7 @@ plugins { id "com.android.library" id "kotlin-android" + alias(libs.plugins.compose.compiler) } android { @@ -8,9 +9,6 @@ android { compose true } - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeKotlinCompilerVersion.get() - } namespace 'com.anytypeio.anytype.payments' testOptions { diff --git a/presentation/src/test/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModelTest.kt b/presentation/src/test/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModelTest.kt index 1900debd05..7935a303a4 100644 --- a/presentation/src/test/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModelTest.kt +++ b/presentation/src/test/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModelTest.kt @@ -97,6 +97,7 @@ import org.junit.Before import org.junit.Rule import org.junit.Test import org.mockito.ArgumentMatchers +import org.mockito.ArgumentMatchers.anyString import org.mockito.BDDMockito.given import org.mockito.Mock import org.mockito.Mockito @@ -277,7 +278,7 @@ class HomeScreenViewModelTest { stubConfig() stubInterceptEvents(events) stubOpenWidgetObject(givenObjectView) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -337,7 +338,7 @@ class HomeScreenViewModelTest { stubConfig() stubInterceptEvents(events = emptyFlow()) stubOpenWidgetObject(givenObjectView) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -423,7 +424,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubWidgetActiveView(widgetBlock) stubGetWidgetSession() stubSpaceManager() @@ -530,7 +531,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubWidgetActiveView(widgetBlock) stubGetWidgetSession() stubSpaceManager() @@ -645,7 +646,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubWidgetActiveView(widgetBlock) stubGetWidgetSession() stubSpaceManager() @@ -747,7 +748,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubWidgetActiveView(widgetBlock) stubGetWidgetSession() stubSpaceManager() @@ -946,7 +947,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubWidgetActiveView(favoriteWidgetBlock) @@ -1096,7 +1097,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -1187,7 +1188,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSaveWidgetSession() stubGetDefaultPageType() @@ -1310,7 +1311,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -1380,7 +1381,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubCloseObject() stubSpaceManager() @@ -1518,7 +1519,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubWidgetActiveView(favoriteWidgetBlock) stubSpaceManager() @@ -1700,7 +1701,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubWidgetActiveView(favoriteWidgetBlock) stubCloseObject() @@ -1922,7 +1923,7 @@ class HomeScreenViewModelTest { results = listOf(firstLink, secondLink) ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubWidgetActiveView(favoriteWidgetBlock) stubFavoritesObjectWatcher() @@ -2076,7 +2077,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubObserveSpaceObject() stubGetWidgetSession() @@ -2157,7 +2158,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -2226,7 +2227,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -2314,7 +2315,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -2403,7 +2404,7 @@ class HomeScreenViewModelTest { subscription = widgetBlock.id, targets = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubSpaceManager() stubSpaceWidgetContainer(defaultSpaceWidgetView) @@ -2563,7 +2564,7 @@ class HomeScreenViewModelTest { results = emptyList() ) - stubCollapsedWidgetState(any()) + stubCollapsedWidgetState(id = anyString()) stubGetWidgetSession() stubGetDefaultPageType() stubObserveSpaceObject() diff --git a/sample/build.gradle b/sample/build.gradle index 3a4a8f1bce..4a16d39b3c 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -2,6 +2,7 @@ plugins { id "com.android.application" id "kotlin-android" id "kotlin-kapt" + alias(libs.plugins.compose.compiler) id 'com.google.gms.google-services' } @@ -34,9 +35,6 @@ android { compose true } - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeKotlinCompilerVersion.get() - } namespace 'com.anytypeio.anytype.sample' } diff --git a/ui-settings/build.gradle b/ui-settings/build.gradle index 6b4fca4502..5239a22449 100644 --- a/ui-settings/build.gradle +++ b/ui-settings/build.gradle @@ -1,6 +1,7 @@ plugins { id "com.android.library" id "kotlin-android" + alias(libs.plugins.compose.compiler) } android { @@ -11,10 +12,6 @@ android { compose true } - composeOptions { - kotlinCompilerExtensionVersion libs.versions.composeKotlinCompilerVersion.get() - } - namespace 'com.anytypeio.anytype.ui_settings' }