Vinod Rai
11/28/2020, 6:30 AMimport org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
plugins {
kotlin("multiplatform")
kotlin("plugin.serialization")
id("com.squareup.sqldelight")
}
kotlin {
val iosX64 = iosX64("ios")
val iosArm64 = iosArm64("iosArm64")
val iosArm32 = iosArm32("iosArm32")
val frameworkName = "EmtCore"
configure(listOf(iosX64, iosArm64, iosArm32)) {
binaries.framework {
baseName = frameworkName
}
}
sqldelight {
database("EmtCoreDatabase") {
packageName = "com.emt_core.db"
}
}
jvm("android")
sourceSets["commonMain"].dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-common")
implementation("io.ktor:ktor-client-core:1.4.1")
implementation("io.ktor:ktor-client-json:1.4.1")
implementation("com.russhwolf:multiplatform-settings-no-arg:0.6.1")
implementation("io.ktor:ktor-client-serialization:1.4.1")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9-native-mt-2")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-rc")
implementation("com.soywiz.korlibs.klock:klock:1.12.0")
implementation("io.ktor:ktor-client-logging:1.4.1")
implementation("com.squareup.sqldelight:runtime:1.4.3")
}
sourceSets["androidMain"].dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib")
implementation("io.ktor:ktor-client-android:1.4.1")
//implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.9")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-rc")
implementation("io.ktor:ktor-client-okhttp:1.4.1")
api("io.ktor:ktor-client-logging-jvm:1.4.1")
implementation("io.ktor:ktor-client-json-jvm:1.4.1")
implementation("io.ktor:ktor-client-serialization-jvm:1.4.1")
implementation("com.squareup.okhttp3:logging-interceptor:4.4.1")
implementation("com.squareup.sqldelight:android-driver:1.4.3")
}
sourceSets["iosMain"].dependencies {
implementation("io.ktor:ktor-client-ios:1.4.1")
//implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-rc")
implementation("io.ktor:ktor-client-json-native:1.3.2")
api("io.ktor:ktor-client-logging-native:1.3.2")
implementation("io.ktor:ktor-client-serialization-iosx64:1.4.1")
//implementation("io.ktor:ktor-client-serialization-iosarm64:1.4.0")
implementation("com.squareup.sqldelight:native-driver:1.4.3")
}
sourceSets["iosArm64Main"].dependencies {
implementation("io.ktor:ktor-client-ios:1.4.1")
//implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-rc")
implementation("io.ktor:ktor-client-json-native:1.3.2")
api("io.ktor:ktor-client-logging-native:1.3.2")
implementation("io.ktor:ktor-client-serialization-iosarm64:1.4.1")
//implementation("io.ktor:ktor-client-serialization-iosarm64:1.4.0")
implementation("com.squareup.sqldelight:native-driver:1.4.3")
}
sourceSets["iosArm32Main"].dependencies {
implementation("io.ktor:ktor-client-ios:1.4.1")
//implementation ("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.0.0-rc")
implementation("io.ktor:ktor-client-json-native:1.3.2")
api("io.ktor:ktor-client-logging-native:1.3.2")
implementation("io.ktor:ktor-client-serialization-iosarm32:1.4.1")
//implementation("io.ktor:ktor-client-serialization-iosarm64:1.4.0")
implementation("com.squareup.sqldelight:native-driver:1.4.3")
}
val debugFatFramework by tasks.creating(org.jetbrains.kotlin.gradle.tasks.FatFrameworkTask::class) {
baseName = frameworkName
from(
iosArm32.binaries.getFramework("debug"),
iosArm64.binaries.getFramework("debug"),
iosX64.binaries.getFramework("debug")
)
destinationDir = buildDir.resolve("fat-framework/debug")
group = "Universal framework"
description = "Builds a debug universal (fat) framework"
}
val releaseFatFramework by tasks.creating(org.jetbrains.kotlin.gradle.tasks.FatFrameworkTask::class) {
baseName = frameworkName
from(
iosArm32.binaries.getFramework("release"),
iosArm64.binaries.getFramework("release")
)
destinationDir = buildDir.resolve("fat-framework/release")
group = "Universal framework"
description = "Builds a release universal (fat) framework"
}
val zipDebugFatFramework by tasks.creating(Zip::class) {
dependsOn(debugFatFramework)
from(debugFatFramework)
// from("LICENSE.md")
}
val zipReleaseFatFramework by tasks.creating(Zip::class) {
dependsOn(releaseFatFramework)
from(releaseFatFramework)
//from("LICENSE.md")
}
}
Kuba Petržílka
11/28/2020, 10:58 AMsourceSets["commonMain"].dependencies {
implementation("io.ktor:ktor-client-serialization:1.4.1")
}
and you don't have to mention that dependency elsewhere againrusshwolf
11/28/2020, 4:02 PM