Lokik Soni
10/20/2024, 8:20 AM# App level
agp = "8.5.2"
kotlin = "2.0.21"
compose-plugin = "1.7.0"
Lokik Soni
10/20/2024, 8:20 AMbuild.gradle
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.compose)
alias(libs.plugins.compose.compiler)
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.kotlin.serialization)
}
kotlin {
androidTarget {
@OptIn(ExperimentalKotlinGradlePluginApi::class)
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "ComposeApp"
isStatic = true
}
}
sourceSets {
androidMain.dependencies {
// Jetpack Compose
implementation(compose.preview)
implementation(libs.activity.compose)
// Kotlin
implementation(libs.ktor.okhttp)
// Google
implementation(libs.location)
}
iosMain.dependencies {
// Kotlin
implementation(libs.ktor.darwin)
}
commonMain.dependencies {
// Jetpack Compose
implementation(compose.ui)
implementation(compose.material3)
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
implementation(libs.viewmodel.compose)
implementation(libs.lifecycle.runtime.compose)
implementation(libs.navigation.compose)
implementation(libs.paging)
// Jetpack
implementation(libs.datastore.preferences)
// Kotlin
implementation(libs.bundles.ktor)
implementation(libs.kotlin.coroutines.core)
implementation(libs.kotlin.serialization)
// Third Party
implementation(project.dependencies.platform(libs.koin.bom))
implementation(libs.bundles.koin)
implementation(libs.bundles.coil3)
implementation(libs.country.code.picker)
implementation(libs.moko.permission)
}
}
// TODO remove in future just added to avoid error when rebuild project
//task("testClasses")
}
Florent Dambreville
01/10/2025, 2:34 PM