From 58b7013a8c8613754ebf6286f590b86a19500c2a Mon Sep 17 00:00:00 2001 From: Igor Escodro Date: Sat, 25 May 2024 19:29:41 -0400 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=93=BD=EF=B8=8F=20Update=20Kotlin=20D?= =?UTF-8?q?SL=20with=20new=20extensions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The extensions from KmpExtensions were replaced by the new additions in the latest KMP plugin. --- data/datastore/build.gradle.kts | 19 ++-- data/local/build.gradle.kts | 47 ++++----- data/repository/build.gradle.kts | 21 ++-- domain/build.gradle.kts | 25 ++--- features/alarm/build.gradle.kts | 54 +++++------ features/category-api/build.gradle.kts | 16 ++-- features/category/build.gradle.kts | 45 +++++---- features/home/build.gradle.kts | 40 ++++---- features/preference/build.gradle.kts | 47 +++++---- features/search/build.gradle.kts | 40 ++++---- features/task/build.gradle.kts | 53 +++++----- features/tracker/build.gradle.kts | 55 ++++++----- libraries/appstate/build.gradle.kts | 12 +-- libraries/coroutines/build.gradle.kts | 9 +- libraries/designsystem/build.gradle.kts | 13 +-- libraries/di/build.gradle.kts | 25 ++--- libraries/navigation/build.gradle.kts | 16 ++-- libraries/test/build.gradle.kts | 16 ++-- .../com.escodro.android-dynamic.gradle.kts | 9 +- .../src/main/java/extension/KmpExtensions.kt | 42 -------- resources/build.gradle.kts | 12 +-- shared/build.gradle.kts | 96 +++++++++---------- 22 files changed, 337 insertions(+), 375 deletions(-) diff --git a/data/datastore/build.gradle.kts b/data/datastore/build.gradle.kts index 90d537f7a..7c70abd17 100644 --- a/data/datastore/build.gradle.kts +++ b/data/datastore/build.gradle.kts @@ -1,5 +1,3 @@ -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName plugins { @@ -9,14 +7,17 @@ plugins { kotlin { setFrameworkBaseName("datastore") - commonDependencies { - implementation(projects.data.repository) + sourceSets { + commonMain.dependencies { + implementation(projects.data.repository) - implementation(libs.koin.core) - implementation(libs.androidx.datastore) - } - commonTestDependencies { - implementation(kotlin("test")) + implementation(libs.koin.core) + implementation(libs.androidx.datastore) + } + + commonTest.dependencies { + implementation(kotlin("test")) + } } } diff --git a/data/local/build.gradle.kts b/data/local/build.gradle.kts index 0b19e2300..a38c0f6a2 100644 --- a/data/local/build.gradle.kts +++ b/data/local/build.gradle.kts @@ -1,7 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies -import extension.commonTestDependencies -import extension.iosDependencies import extension.setFrameworkBaseName plugins { @@ -14,27 +10,32 @@ plugins { kotlin { setFrameworkBaseName("local") - commonDependencies { - implementation(projects.libraries.coroutines) - implementation(projects.data.repository) - implementation(projects.resources) + sourceSets { + commonMain.dependencies { + implementation(projects.libraries.coroutines) + implementation(projects.data.repository) + implementation(projects.resources) - implementation(compose.runtime) - implementation(compose.components.resources) + implementation(compose.runtime) + implementation(compose.components.resources) - implementation(libs.koin.core) - implementation(libs.kotlinx.datetime) - implementation(libs.sqldelight.coroutines) - } - androidDependencies { - implementation(libs.sqldelight.driver) - } - iosDependencies { - implementation(libs.sqldelight.native) - } - commonTestDependencies { - implementation(kotlin("test")) - implementation(libs.kotlinx.coroutines.test) + implementation(libs.koin.core) + implementation(libs.kotlinx.datetime) + implementation(libs.sqldelight.coroutines) + } + + androidMain.dependencies { + implementation(libs.sqldelight.driver) + } + + iosMain.dependencies { + implementation(libs.sqldelight.native) + } + + commonTest.dependencies { + implementation(kotlin("test")) + implementation(libs.kotlinx.coroutines.test) + } } } diff --git a/data/repository/build.gradle.kts b/data/repository/build.gradle.kts index a9c9f0409..06b6cbd7a 100644 --- a/data/repository/build.gradle.kts +++ b/data/repository/build.gradle.kts @@ -1,5 +1,3 @@ -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName plugins { @@ -9,15 +7,18 @@ plugins { kotlin { setFrameworkBaseName("repository") - commonDependencies { - implementation(projects.domain) + sourceSets { + commonMain.dependencies { + implementation(projects.domain) - implementation(libs.koin.core) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.kotlinx.datetime) - } - commonTestDependencies { - implementation(kotlin("test")) + implementation(libs.koin.core) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.datetime) + } + + commonTest.dependencies { + implementation(kotlin("test")) + } } } diff --git a/domain/build.gradle.kts b/domain/build.gradle.kts index 58db3c98e..e03aeff5f 100644 --- a/domain/build.gradle.kts +++ b/domain/build.gradle.kts @@ -1,5 +1,3 @@ -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName plugins { @@ -9,16 +7,19 @@ plugins { kotlin { setFrameworkBaseName("domain") - commonDependencies { - implementation(libs.koin.core) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.logging) - implementation(libs.logback) - implementation(libs.kotlinx.datetime) - } - commonTestDependencies { - implementation(kotlin("test")) - implementation(libs.kotlinx.coroutines.test) + sourceSets { + commonMain.dependencies { + implementation(libs.koin.core) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.logging) + implementation(libs.logback) + implementation(libs.kotlinx.datetime) + } + + commonTest.dependencies { + implementation(kotlin("test")) + implementation(libs.kotlinx.coroutines.test) + } } } diff --git a/features/alarm/build.gradle.kts b/features/alarm/build.gradle.kts index b9c629273..07fac2dcb 100644 --- a/features/alarm/build.gradle.kts +++ b/features/alarm/build.gradle.kts @@ -1,6 +1,3 @@ -import extension.androidDependencies -import extension.androidTestDependencies -import extension.commonDependencies import extension.setFrameworkBaseName plugins { @@ -12,30 +9,33 @@ plugins { kotlin { setFrameworkBaseName("search") - commonDependencies { - implementation(projects.features.alarmApi) - implementation(projects.libraries.coroutines) - implementation(projects.libraries.navigation) - implementation(projects.domain) - implementation(projects.resources) - implementation(libs.kotlinx.datetime) - - implementation(compose.runtime) - implementation(compose.components.resources) - - implementation(libs.logging) - implementation(libs.logback) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.koin.core) - } - - androidDependencies { - implementation(libs.logcat) - implementation(libs.androidx.core) - } - - androidTestDependencies { - implementation(libs.test.junit) + sourceSets { + commonMain.dependencies { + + implementation(projects.features.alarmApi) + implementation(projects.libraries.coroutines) + implementation(projects.libraries.navigation) + implementation(projects.domain) + implementation(projects.resources) + implementation(libs.kotlinx.datetime) + + implementation(compose.runtime) + implementation(compose.components.resources) + + implementation(libs.logging) + implementation(libs.logback) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.koin.core) + } + + androidMain.dependencies { + implementation(libs.logcat) + implementation(libs.androidx.core) + } + + androidUnitTest.dependencies { + implementation(libs.test.junit) + } } } diff --git a/features/category-api/build.gradle.kts b/features/category-api/build.gradle.kts index e8e6104f8..e354f4c68 100644 --- a/features/category-api/build.gradle.kts +++ b/features/category-api/build.gradle.kts @@ -1,6 +1,4 @@ -import extension.commonDependencies import extension.setFrameworkBaseName -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { id("com.escodro.multiplatform") @@ -10,12 +8,14 @@ plugins { kotlin { setFrameworkBaseName("categoryapi") - commonDependencies { - implementation(projects.libraries.parcelable) - api(libs.androidx.lifecycle.viewmodel) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.kotlinx.collections.immutable) - implementation(libs.moko.mvvm.core) + sourceSets { + commonMain.dependencies { + implementation(projects.libraries.parcelable) + api(libs.androidx.lifecycle.viewmodel) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.collections.immutable) + implementation(libs.moko.mvvm.core) + } } } diff --git a/features/category/build.gradle.kts b/features/category/build.gradle.kts index 7a11a4853..a705fcbd6 100644 --- a/features/category/build.gradle.kts +++ b/features/category/build.gradle.kts @@ -1,7 +1,4 @@ -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { id("com.escodro.multiplatform") @@ -13,29 +10,31 @@ plugins { kotlin { setFrameworkBaseName("category") - commonDependencies { - implementation(projects.features.categoryApi) - implementation(projects.domain) - implementation(projects.resources) - implementation(projects.libraries.navigation) - implementation(projects.libraries.designsystem) - implementation(projects.libraries.coroutines) - implementation(projects.libraries.di) - implementation(projects.libraries.test) - implementation(projects.libraries.parcelable) + sourceSets { + commonMain.dependencies { + implementation(projects.features.categoryApi) + implementation(projects.domain) + implementation(projects.resources) + implementation(projects.libraries.navigation) + implementation(projects.libraries.designsystem) + implementation(projects.libraries.coroutines) + implementation(projects.libraries.di) + implementation(projects.libraries.test) + implementation(projects.libraries.parcelable) - implementation(compose.runtime) - implementation(compose.material3) - implementation(compose.materialIconsExtended) - implementation(compose.components.resources) + implementation(compose.runtime) + implementation(compose.material3) + implementation(compose.materialIconsExtended) + implementation(compose.components.resources) - implementation(libs.koin.compose.jb) - implementation(libs.kotlinx.collections.immutable) - implementation(libs.moko.mvvm.compose) - } + implementation(libs.koin.compose.jb) + implementation(libs.kotlinx.collections.immutable) + implementation(libs.moko.mvvm.compose) + } - commonTestDependencies { - implementation(kotlin("test")) + commonTest.dependencies { + implementation(kotlin("test")) + } } } diff --git a/features/home/build.gradle.kts b/features/home/build.gradle.kts index 2810fdf27..813d6a228 100644 --- a/features/home/build.gradle.kts +++ b/features/home/build.gradle.kts @@ -1,6 +1,4 @@ -import extension.commonDependencies import extension.setFrameworkBaseName -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { id("com.escodro.multiplatform") @@ -12,26 +10,28 @@ plugins { kotlin { setFrameworkBaseName("home") - commonDependencies { - implementation(projects.domain) - implementation(projects.resources) - implementation(projects.features.task) - implementation(projects.features.category) - implementation(projects.features.search) - implementation(projects.features.preference) - implementation(projects.libraries.navigation) - implementation(projects.libraries.appstate) - implementation(projects.libraries.parcelable) + sourceSets { + commonMain.dependencies { + implementation(projects.domain) + implementation(projects.resources) + implementation(projects.features.task) + implementation(projects.features.category) + implementation(projects.features.search) + implementation(projects.features.preference) + implementation(projects.libraries.navigation) + implementation(projects.libraries.appstate) + implementation(projects.libraries.parcelable) - implementation(compose.runtime) - implementation(compose.materialIconsExtended) - implementation(compose.material) - implementation(compose.material3) - implementation(compose.components.resources) + implementation(compose.runtime) + implementation(compose.materialIconsExtended) + implementation(compose.material) + implementation(compose.material3) + implementation(compose.components.resources) - implementation(libs.koin.compose.jb) - implementation(libs.kotlinx.collections.immutable) - implementation(libs.moko.mvvm.compose) + implementation(libs.koin.compose.jb) + implementation(libs.kotlinx.collections.immutable) + implementation(libs.moko.mvvm.compose) + } } } diff --git a/features/preference/build.gradle.kts b/features/preference/build.gradle.kts index 1c28470c7..8f84748c9 100644 --- a/features/preference/build.gradle.kts +++ b/features/preference/build.gradle.kts @@ -1,6 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies -import extension.iosDependencies import extension.setFrameworkBaseName plugins { @@ -12,31 +9,33 @@ plugins { kotlin { setFrameworkBaseName("preference") - commonDependencies { - implementation(projects.domain) - implementation(projects.libraries.coroutines) - implementation(projects.libraries.designsystem) - implementation(projects.resources) - implementation(projects.libraries.navigation) - implementation(projects.libraries.di) + sourceSets { + commonMain.dependencies { + implementation(projects.domain) + implementation(projects.libraries.coroutines) + implementation(projects.libraries.designsystem) + implementation(projects.resources) + implementation(projects.libraries.navigation) + implementation(projects.libraries.di) - implementation(compose.runtime) - implementation(compose.material3) - implementation(compose.materialIconsExtended) - implementation(compose.components.resources) + implementation(compose.runtime) + implementation(compose.material3) + implementation(compose.materialIconsExtended) + implementation(compose.components.resources) - implementation(libs.koin.compose.jb) - implementation(libs.moko.mvvm.compose) - implementation(libs.aboutlibraries.ui) - } + implementation(libs.koin.compose.jb) + implementation(libs.moko.mvvm.compose) + implementation(libs.aboutlibraries.ui) + } - androidDependencies { - implementation(libs.androidx.corektx) - implementation(projects.libraries.splitInstall) - } + androidMain.dependencies { + implementation(libs.androidx.corektx) + implementation(projects.libraries.splitInstall) + } - iosDependencies { - implementation(projects.features.tracker) + iosMain.dependencies { + implementation(projects.features.tracker) + } } } android { diff --git a/features/search/build.gradle.kts b/features/search/build.gradle.kts index cb652fec9..fcab4d040 100644 --- a/features/search/build.gradle.kts +++ b/features/search/build.gradle.kts @@ -1,5 +1,3 @@ -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName plugins { @@ -11,27 +9,29 @@ plugins { kotlin { setFrameworkBaseName("search") - commonDependencies { - implementation(projects.domain) - implementation(projects.libraries.designsystem) - implementation(projects.resources) - implementation(projects.libraries.navigation) - implementation(projects.libraries.di) + sourceSets { + commonMain.dependencies { + implementation(projects.domain) + implementation(projects.libraries.designsystem) + implementation(projects.resources) + implementation(projects.libraries.navigation) + implementation(projects.libraries.di) - implementation(compose.runtime) - implementation(compose.material3) - implementation(compose.materialIconsExtended) - implementation(compose.components.resources) + implementation(compose.runtime) + implementation(compose.material3) + implementation(compose.materialIconsExtended) + implementation(compose.components.resources) - implementation(libs.kotlinx.collections.immutable) - implementation(libs.koin.compose.jb) - implementation(libs.moko.mvvm.compose) - } + implementation(libs.kotlinx.collections.immutable) + implementation(libs.koin.compose.jb) + implementation(libs.moko.mvvm.compose) + } - commonTestDependencies { - implementation(kotlin("test")) - implementation(projects.libraries.test) - implementation(libs.kotlinx.datetime) + commonTest.dependencies { + implementation(kotlin("test")) + implementation(projects.libraries.test) + implementation(libs.kotlinx.datetime) + } } } diff --git a/features/task/build.gradle.kts b/features/task/build.gradle.kts index afe310e71..748eed8de 100644 --- a/features/task/build.gradle.kts +++ b/features/task/build.gradle.kts @@ -1,7 +1,4 @@ -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { id("com.escodro.multiplatform") @@ -13,33 +10,35 @@ plugins { kotlin { setFrameworkBaseName("task") - commonDependencies { - api(projects.features.categoryApi) - implementation(projects.features.alarmApi) - implementation(projects.domain) - implementation(projects.resources) - implementation(projects.libraries.di) - implementation(projects.libraries.navigation) - implementation(projects.libraries.coroutines) - implementation(projects.libraries.designsystem) - implementation(projects.libraries.parcelable) + sourceSets { + commonMain.dependencies { + api(projects.features.categoryApi) + implementation(projects.features.alarmApi) + implementation(projects.domain) + implementation(projects.resources) + implementation(projects.libraries.di) + implementation(projects.libraries.navigation) + implementation(projects.libraries.coroutines) + implementation(projects.libraries.designsystem) + implementation(projects.libraries.parcelable) - implementation(compose.runtime) - implementation(compose.material3) - implementation(compose.materialIconsExtended) - implementation(compose.components.resources) + implementation(compose.runtime) + implementation(compose.material3) + implementation(compose.materialIconsExtended) + implementation(compose.components.resources) - implementation(libs.kotlinx.datetime) - implementation(libs.kotlinx.collections.immutable) - implementation(libs.koin.compose.jb) - implementation(libs.moko.mvvm.compose) - implementation(libs.moko.permissions.compose) - } + implementation(libs.kotlinx.datetime) + implementation(libs.kotlinx.collections.immutable) + implementation(libs.koin.compose.jb) + implementation(libs.moko.mvvm.compose) + implementation(libs.moko.permissions.compose) + } - commonTestDependencies { - implementation(kotlin("test")) - implementation(projects.libraries.test) - implementation(libs.kotlinx.datetime) + commonTest.dependencies { + implementation(kotlin("test")) + implementation(projects.libraries.test) + implementation(libs.kotlinx.datetime) + } } } android { diff --git a/features/tracker/build.gradle.kts b/features/tracker/build.gradle.kts index 93a67a82d..f6a1b5d2e 100644 --- a/features/tracker/build.gradle.kts +++ b/features/tracker/build.gradle.kts @@ -1,6 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName plugins { @@ -12,31 +9,33 @@ plugins { kotlin { setFrameworkBaseName("tracker") - commonDependencies { - implementation(projects.domain) - implementation(projects.libraries.designsystem) - implementation(projects.resources) - implementation(projects.libraries.di) - - implementation(compose.runtime) - implementation(compose.material3) - implementation(compose.materialIconsExtended) - implementation(compose.components.resources) - - implementation(libs.kotlinx.collections.immutable) - implementation(libs.koin.compose.jb) - implementation(libs.kotlinx.coroutines.core) - implementation(libs.moko.mvvm.compose) - } - - commonTestDependencies { - implementation(kotlin("test")) - implementation(projects.libraries.test) - implementation(libs.kotlinx.datetime) - } - - androidDependencies { - implementation(libs.compose.activity) + sourceSets { + commonMain.dependencies { + implementation(projects.domain) + implementation(projects.libraries.designsystem) + implementation(projects.resources) + implementation(projects.libraries.di) + + implementation(compose.runtime) + implementation(compose.material3) + implementation(compose.materialIconsExtended) + implementation(compose.components.resources) + + implementation(libs.kotlinx.collections.immutable) + implementation(libs.koin.compose.jb) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.moko.mvvm.compose) + } + + commonTest.dependencies { + implementation(kotlin("test")) + implementation(projects.libraries.test) + implementation(libs.kotlinx.datetime) + } + + androidMain.dependencies { + implementation(libs.compose.activity) + } } } diff --git a/libraries/appstate/build.gradle.kts b/libraries/appstate/build.gradle.kts index 1580ae09f..c1d9a6e43 100644 --- a/libraries/appstate/build.gradle.kts +++ b/libraries/appstate/build.gradle.kts @@ -1,6 +1,4 @@ -import extension.commonDependencies import extension.setFrameworkBaseName -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { id("com.escodro.multiplatform") @@ -12,12 +10,14 @@ plugins { kotlin { setFrameworkBaseName("appstate") - commonDependencies { - implementation(projects.libraries.parcelable) + sourceSets { + commonMain.dependencies { + implementation(projects.libraries.parcelable) - implementation(compose.runtime) + implementation(compose.runtime) - api(libs.compose.windowsizeclass) + api(libs.compose.windowsizeclass) + } } } diff --git a/libraries/coroutines/build.gradle.kts b/libraries/coroutines/build.gradle.kts index 8225bb17f..c7d89c786 100644 --- a/libraries/coroutines/build.gradle.kts +++ b/libraries/coroutines/build.gradle.kts @@ -1,4 +1,3 @@ -import extension.commonDependencies import extension.setFrameworkBaseName plugins { @@ -8,9 +7,11 @@ plugins { kotlin { setFrameworkBaseName("coroutines") - commonDependencies { - implementation(libs.kotlinx.coroutines.core) - implementation(libs.koin.core) + sourceSets { + commonMain.dependencies { + implementation(libs.kotlinx.coroutines.core) + implementation(libs.koin.core) + } } } diff --git a/libraries/designsystem/build.gradle.kts b/libraries/designsystem/build.gradle.kts index 82883d618..80f0e45ee 100644 --- a/libraries/designsystem/build.gradle.kts +++ b/libraries/designsystem/build.gradle.kts @@ -1,4 +1,3 @@ -import extension.commonDependencies import extension.setFrameworkBaseName plugins { @@ -10,11 +9,13 @@ plugins { kotlin { setFrameworkBaseName("designsystem") - commonDependencies { - implementation(libs.koin.compose.jb) - implementation(compose.runtime) - implementation(compose.material) - implementation(compose.material3) + sourceSets { + commonMain.dependencies { + implementation(libs.koin.compose.jb) + implementation(compose.runtime) + implementation(compose.material) + implementation(compose.material3) + } } } diff --git a/libraries/di/build.gradle.kts b/libraries/di/build.gradle.kts index 4a3c55dd3..0545910a5 100644 --- a/libraries/di/build.gradle.kts +++ b/libraries/di/build.gradle.kts @@ -1,6 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies -import extension.commonTestDependencies import extension.setFrameworkBaseName plugins { @@ -10,15 +7,19 @@ plugins { kotlin { setFrameworkBaseName("di") - commonDependencies { - implementation(libs.koin.core) - implementation(libs.moko.mvvm.core) - } - androidDependencies { - implementation(libs.koin.android) - } - commonTestDependencies { - implementation(kotlin("test")) + sourceSets { + commonMain.dependencies { + implementation(libs.koin.core) + implementation(libs.moko.mvvm.core) + } + + androidMain.dependencies { + implementation(libs.koin.android) + } + + commonTest.dependencies { + implementation(kotlin("test")) + } } } diff --git a/libraries/navigation/build.gradle.kts b/libraries/navigation/build.gradle.kts index 251cedb5c..3f9eaae2c 100644 --- a/libraries/navigation/build.gradle.kts +++ b/libraries/navigation/build.gradle.kts @@ -1,6 +1,4 @@ -import extension.commonDependencies import extension.setFrameworkBaseName -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi plugins { id("com.escodro.multiplatform") @@ -12,13 +10,15 @@ plugins { kotlin { setFrameworkBaseName("navigation") - commonDependencies { - implementation(projects.libraries.parcelable) - implementation(compose.runtime) - implementation(compose.material) + sourceSets { + commonMain.dependencies { + implementation(projects.libraries.parcelable) + implementation(compose.runtime) + implementation(compose.material) - api(libs.voyager.navigator) - api(libs.voyager.bottomsheet) + api(libs.voyager.navigator) + api(libs.voyager.bottomsheet) + } } } diff --git a/libraries/test/build.gradle.kts b/libraries/test/build.gradle.kts index 2c26bf156..ef51188d2 100644 --- a/libraries/test/build.gradle.kts +++ b/libraries/test/build.gradle.kts @@ -1,5 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies import extension.setFrameworkBaseName plugins { @@ -9,13 +7,15 @@ plugins { kotlin { setFrameworkBaseName("test") - commonDependencies { - implementation(kotlin("test")) - api(libs.kotlinx.coroutines.test) - } + sourceSets { + commonMain.dependencies { + implementation(kotlin("test")) + api(libs.kotlinx.coroutines.test) + } - androidDependencies { - implementation(kotlin("test-junit")) + androidMain.dependencies { + implementation(kotlin("test-junit")) + } } tasks.withType { diff --git a/plugins/src/main/java/com.escodro.android-dynamic.gradle.kts b/plugins/src/main/java/com.escodro.android-dynamic.gradle.kts index 8f215aac8..4390a4756 100644 --- a/plugins/src/main/java/com.escodro.android-dynamic.gradle.kts +++ b/plugins/src/main/java/com.escodro.android-dynamic.gradle.kts @@ -1,4 +1,3 @@ -import extension.androidDependencies import extension.sdkCompile import extension.sdkMin import org.jetbrains.kotlin.gradle.dsl.KotlinVersion @@ -21,9 +20,11 @@ kotlin { } } - androidDependencies { - implementation(project(":app")) - implementation(libs.playcore) + sourceSets { + androidMain.dependencies { + implementation(project(":app")) + implementation(libs.playcore) + } } } diff --git a/plugins/src/main/java/extension/KmpExtensions.kt b/plugins/src/main/java/extension/KmpExtensions.kt index e04241aa5..1dd344825 100644 --- a/plugins/src/main/java/extension/KmpExtensions.kt +++ b/plugins/src/main/java/extension/KmpExtensions.kt @@ -4,48 +4,6 @@ import org.gradle.kotlin.dsl.get import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension import org.jetbrains.kotlin.gradle.plugin.KotlinDependencyHandler -/** - * Extension function to configure the common main set of dependencies. - */ -fun KotlinMultiplatformExtension.commonDependencies( - configure: KotlinDependencyHandler.() -> Unit, -) { - sourceSets["commonMain"].dependencies { configure() } -} - -/** - * Extension function to configure the common test set of dependencies. - */ -fun KotlinMultiplatformExtension.commonTestDependencies( - configure: KotlinDependencyHandler.() -> Unit, -) { - sourceSets["commonTest"].dependencies { configure() } -} - -/** - * Extension function to configure the Android main set of dependencies. - */ -fun KotlinMultiplatformExtension.androidDependencies( - configure: KotlinDependencyHandler.() -> Unit, -) { - sourceSets["androidMain"].dependencies { configure() } -} - -fun KotlinMultiplatformExtension.androidTestDependencies( - configure: KotlinDependencyHandler.() -> Unit, -) { - sourceSets["androidUnitTest"].dependencies { configure() } -} - -/** - * Extension function to configure the iOS main set of dependencies. - */ -fun KotlinMultiplatformExtension.iosDependencies( - configure: KotlinDependencyHandler.() -> Unit, -) { - sourceSets["iosMain"].dependencies { configure() } -} - /** * Sets the base name for the Objective-C framework. * diff --git a/resources/build.gradle.kts b/resources/build.gradle.kts index e45d398d1..724d36f05 100644 --- a/resources/build.gradle.kts +++ b/resources/build.gradle.kts @@ -1,5 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies import extension.setFrameworkBaseName plugins { @@ -12,10 +10,12 @@ plugins { kotlin { setFrameworkBaseName("resources") - commonDependencies { - implementation(compose.runtime) - implementation(compose.components.resources) - implementation(libs.koin.core) + sourceSets { + commonMain.dependencies { + implementation(compose.runtime) + implementation(compose.components.resources) + implementation(libs.koin.core) + } } } diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index f9c555c84..9b46e35c6 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -1,6 +1,3 @@ -import extension.androidDependencies -import extension.commonDependencies -import extension.commonTestDependencies import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.KotlinMultiplatformExtension import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree @@ -29,6 +26,54 @@ kotlin { } } + sourceSets { + commonMain.dependencies { + implementation(projects.data.local) + implementation(projects.data.datastore) + implementation(projects.data.repository) + implementation(projects.domain) + implementation(projects.libraries.navigation) + implementation(projects.libraries.coroutines) + implementation(projects.libraries.designsystem) + implementation(projects.libraries.di) + implementation(projects.libraries.appstate) + implementation(projects.libraries.parcelable) + + implementation(projects.features.home) + implementation(projects.features.task) + implementation(projects.features.alarm) + implementation(projects.features.category) + implementation(projects.features.search) + implementation(projects.features.preference) + + implementation(projects.resources) + + implementation(projects.domain) + + implementation(compose.runtime) + implementation(compose.material) + implementation(compose.material3) + implementation(compose.components.resources) + + implementation(libs.koin.compose.jb) + implementation(libs.moko.mvvm.compose) + } + + androidMain.dependencies { + implementation(projects.features.glance) + } + + commonTest.dependencies { + implementation(kotlin("test")) + implementation(projects.features.task) + + @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) + implementation(compose.uiTest) + implementation(libs.koin.test) + implementation(libs.kotlinx.datetime) + } + } + androidTarget { @OptIn(ExperimentalKotlinGradlePluginApi::class) instrumentedTestVariant { @@ -41,51 +86,6 @@ kotlin { } } } - commonDependencies { - implementation(projects.data.local) - implementation(projects.data.datastore) - implementation(projects.data.repository) - implementation(projects.domain) - implementation(projects.libraries.navigation) - implementation(projects.libraries.coroutines) - implementation(projects.libraries.designsystem) - implementation(projects.libraries.di) - implementation(projects.libraries.appstate) - implementation(projects.libraries.parcelable) - - implementation(projects.features.home) - implementation(projects.features.task) - implementation(projects.features.alarm) - implementation(projects.features.category) - implementation(projects.features.search) - implementation(projects.features.preference) - - implementation(projects.resources) - - implementation(projects.domain) - - implementation(compose.runtime) - implementation(compose.material) - implementation(compose.material3) - implementation(compose.components.resources) - - implementation(libs.koin.compose.jb) - implementation(libs.moko.mvvm.compose) - } - - androidDependencies { - implementation(projects.features.glance) - } - - commonTestDependencies { - implementation(kotlin("test")) - implementation(projects.features.task) - - @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class) - implementation(compose.uiTest) - implementation(libs.koin.test) - implementation(libs.kotlinx.datetime) - } } android { From 895368624f70e0c8f11da2ea780d7770526c74dc Mon Sep 17 00:00:00 2001 From: Igor Escodro Date: Sat, 25 May 2024 19:50:31 -0400 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=AB=A5=20Update=20deprecated=20code?= =?UTF-8?q?=20for=20getParcelable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced by BundleCompat instead. --- app/src/main/java/com/escodro/alkaa/MainActivity.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/escodro/alkaa/MainActivity.kt b/app/src/main/java/com/escodro/alkaa/MainActivity.kt index 9944bd57f..ad13192ef 100644 --- a/app/src/main/java/com/escodro/alkaa/MainActivity.kt +++ b/app/src/main/java/com/escodro/alkaa/MainActivity.kt @@ -6,6 +6,7 @@ import androidx.activity.SystemBarStyle import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity +import androidx.core.os.BundleCompat import androidx.core.view.WindowCompat import com.escodro.navigation.NavigationAction import com.escodro.shared.MainView @@ -38,9 +39,13 @@ internal class MainActivity : AppCompatActivity() { enableEdgeToEdge(statusBarStyle = systemBarStyle, navigationBarStyle = systemBarStyle) } - private fun getNavigationAction(): NavigationAction = - intent.extras?.getParcelable(NavigationAction.EXTRA_DESTINATION) - ?: NavigationAction.Home + private fun getNavigationAction(): NavigationAction = intent.extras?.let { bundle -> + BundleCompat.getParcelable( + bundle, + NavigationAction.EXTRA_DESTINATION, + NavigationAction::class.java, + ) + } ?: NavigationAction.Home } /**