fcosta
02/11/2020, 1:35 AMKris Wong
02/11/2020, 1:44 AMfcosta
02/11/2020, 1:49 AMiosMain {
dependsOn appleMain
}
iosTest {
dependsOn appleTest
}
watchMain {
dependsOn appleMain
}
watchTest {
dependsOn appleTest
}
fcosta
02/11/2020, 3:11 AMapply plugin: "kotlin-multiplatform"
version = "0.1.0"
def ios_framework_name = "Client"
kotlin {
jvm {
compilations.main.kotlinOptions {
jvmTarget = "1.8"
}
}
js {
browser()
}
targets {
final def iOSTarget = System.getenv('SDK_NAME')?.startsWith("iphoneos") ? presets.iosArm64 : presets.iosX64
fromPreset(iOSTarget, 'ios') {
binaries {
framework("$ios_framework_name")
}
}
final def watchTarget = System.getenv('SDK_NAME')?.startsWith("watchos") ? presets.watchosArm64 : presets.watchosX86
fromPreset(watchTarget, 'watch') {
binaries {
framework("$ios_framework_name")
}
}
}
sourceSets {
all {
languageSettings {
useExperimentalAnnotation 'kotlin.Experimental'
useExperimentalAnnotation 'kotlinx.serialization.UnstableDefault'
}
}
commonMain {
dependencies {
api project(":common:core")
implementation kotlin('stdlib-common')
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serialization_version"
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmMain {
dependencies {
implementation kotlin('stdlib-jdk8')
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_version"
implementation 'com.squareup.okhttp3:okhttp:4.3.0'
}
}
jvmTest {
dependencies {
implementation kotlin('test')
implementation kotlin('test-junit')
implementation "junit:junit:$junit_version"
implementation "io.mockk:mockk:1.9"
implementation 'com.squareup.okhttp3:mockwebserver:4.3.0'
}
}
jsMain {
dependencies {
implementation kotlin('stdlib-js')
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_version"
}
}
jsTest {
dependencies {
implementation kotlin('test-js')
implementation npm("mock-socket", "^9.0.0")
}
}
appleMain {
dependsOn commonMain
dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization_version"
}
}
appleTest {
dependsOn commonTest
}
iosMain {
dependsOn appleMain
}
iosTest {
dependsOn appleTest
}
watchMain {
dependsOn appleMain
}
watchTest {
dependsOn appleTest
}
}
// Configure all compilations of all targets:
targets.all {
compilations.all {
kotlinOptions {
allWarningsAsErrors = true
}
}
}
}
fcosta
02/11/2020, 3:12 AMlouiscad
02/11/2020, 7:26 AMfcosta
02/11/2020, 11:46 AMKris Wong
02/11/2020, 2:00 PMKris Wong
02/11/2020, 2:01 PMKris Wong
02/11/2020, 2:02 PM