diff --git a/build.gradle.kts b/build.gradle.kts index a416af1..f36289c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,6 +6,6 @@ plugins { alias(libs.plugins.composeMultiplatform) apply false alias(libs.plugins.composeCompiler) apply false alias(libs.plugins.kotlinMultiplatform) apply false - id("com.google.devtools.ksp").version("2.2.0-2.0.2").apply(false) - id("com.rickclephas.kmp.nativecoroutines").version("1.0.0-ALPHA-45").apply(false) + alias(libs.plugins.ksp) apply false + alias(libs.plugins.kmpNativeCoroutines) apply false } \ No newline at end of file diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index 50d4a64..7c9cbbb 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -1,3 +1,4 @@ +import org.gradle.kotlin.dsl.implementation import org.jetbrains.compose.desktop.application.dsl.TargetFormat import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi import org.jetbrains.kotlin.gradle.dsl.JvmTarget @@ -22,9 +23,10 @@ kotlin { androidMain.dependencies { implementation(compose.preview) implementation(libs.androidx.activity.compose) - implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2") - implementation("androidx.lifecycle:lifecycle-runtime-compose:2.6.2") - implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.2") + implementation(libs.androidx.lifecycle.viewmodel) + implementation(libs.androidx.lifecycle.viewmodel.ktx) + implementation(libs.androidx.lifecycle.viewmodel.compose) + implementation(libs.androidx.lifecycle.runtimeCompose) } commonMain.dependencies { implementation(compose.runtime) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index a142669..af7c55e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,6 +13,10 @@ androidx-testExt = "1.2.1" composeMultiplatform = "1.8.2" junit = "4.13.2" kotlin = "2.2.0" +kotlinxCoroutinesCore = "1.10.2" +kotlinxDatetime = "0.6.2" +ktorVersion = "3.1.3" +lifecycleViewmodelKtx = "2.6.2" [libraries] kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } @@ -25,11 +29,23 @@ androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "a androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "androidx-constraintlayout" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" } androidx-lifecycle-viewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel", version.ref = "androidx-lifecycle" } +androidx-lifecycle-viewmodel-ktx = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } +androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" } androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } +kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutinesCore" } +kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" } +ktor-client-android = { module = "io.ktor:ktor-client-android", version.ref = "ktorVersion" } +ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktorVersion" } +ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktorVersion" } +ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktorVersion" } +ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktorVersion" } [plugins] androidApplication = { id = "com.android.application", version.ref = "agp" } androidLibrary = { id = "com.android.library", version.ref = "agp" } composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" } composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } \ No newline at end of file +kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } +serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } +ksp = { id = "com.google.devtools.ksp", version = "2.2.0-2.0.2" } +kmpNativeCoroutines = { id = "com.rickclephas.kmp.nativecoroutines", version = "1.0.0-ALPHA-45" } \ No newline at end of file diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 6387eba..76572d6 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -4,9 +4,9 @@ import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) - kotlin("plugin.serialization") version "2.2.0" - id("com.google.devtools.ksp") - id("com.rickclephas.kmp.nativecoroutines") + alias(libs.plugins.serialization) + alias(libs.plugins.ksp) + alias(libs.plugins.kmpNativeCoroutines) } kotlin { @@ -28,24 +28,22 @@ kotlin { } } - val ktorVersion = "3.1.3" - sourceSets { all { languageSettings.optIn("kotlin.experimental.ExperimentalObjCName") } commonMain.dependencies { - implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.2") - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2") - implementation("io.ktor:ktor-client-core:${ktorVersion}") - implementation("io.ktor:ktor-client-content-negotiation:${ktorVersion}") - implementation("io.ktor:ktor-serialization-kotlinx-json:${ktorVersion}") + implementation(libs.kotlinx.datetime) + implementation(libs.kotlinx.coroutines.core) + implementation(libs.ktor.client.core) + implementation(libs.ktor.client.content.negotiation) + implementation(libs.ktor.serialization.kotlinx.json) } androidMain.dependencies { - implementation("io.ktor:ktor-client-android:$ktorVersion") + implementation(libs.ktor.client.android) } iosMain.dependencies { - implementation("io.ktor:ktor-client-darwin:$ktorVersion") + implementation(libs.ktor.client.darwin) } commonTest.dependencies { implementation(libs.kotlin.test)