Sergioedcigreja
07/11/2019, 12:58 PMKris Wong
07/11/2019, 1:09 PMSam
07/11/2019, 1:44 PMfromPreset(presets.android, 'android')
and add the rest of the required standard android gradle config.Sergioedcigreja
07/11/2019, 2:07 PMplugins {
id 'kotlin-multiplatform' version '1.3.40'
id 'kotlinx-serialization' version '1.3.40'
}
repositories {
google()
jcenter()
mavenCentral()
maven { url "<https://kotlin.bintray.com/kotlinx>" }
}
group "pt.fyi"
version "0.0.1"
apply plugin: 'maven-publish'
apply plugin: 'kotlinx-serialization'
kotlin {
def coroutine_version = "1.3.0-M2"
def ktor_version = "1.2.2"
def serializer_version = "0.11.1"
jvm(
)
iosArm64("ios") {
binaries {
framework()
}
}
sourceSets {
commonMain {
dependencies {
implementation "io.ktor:ktor-client-json:$ktor_version"
implementation kotlin('stdlib-common')
implementation "io.ktor:ktor-client-core:$ktor_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core-common:1.3.0-M2'
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:0.11.1"
implementation "io.ktor:ktor-client-serialization:$ktor_version"
}
}
commonTest {
dependencies {
implementation kotlin('test-common')
implementation kotlin('test-annotations-common')
}
}
jvmMain {
dependencies {
implementation kotlin('stdlib')
implementation "io.ktor:ktor-client-android:$ktor_version"
implementation "io.ktor:ktor-client-json-jvm:$ktor_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.0-M2'
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-runtime:0.11.1'
implementation "io.ktor:ktor-client-serialization-jvm:$ktor_version"
}
}
jvmTest {
dependencies {
implementation kotlin('test')
implementation kotlin('test-junit')
}
}
iosMain {
dependencies {
implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serializer_version"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:$coroutine_version"
implementation "io.ktor:ktor-client-ios:$ktor_version"
implementation "io.ktor:ktor-client-core-native:$ktor_version"
implementation "io.ktor:ktor-client-json-native:$ktor_version"
implementation "io.ktor:ktor-client-serialization-native:$ktor_version"
}
}
iosTest {
}
}
}
configurations {
compileClasspath
}
Sam
07/11/2019, 3:30 PMtargets {
final def iOSTarget = System.getenv('SDK_NAME')?.startsWith("iphoneos") \
? presets.iosArm64 : presets.iosX64
fromPreset(iOSTarget, 'ios') {
binaries {
framework {
baseName = "MyFramework"
freeCompilerArgs.add("-Xobjc-generics")
}
}
}
fromPreset(presets.android, 'android')
jvm()
}
This builds an iOS framework, an Android AAR and a java jar. I don't use the jar for anything except to run common tests quickly. You'll need to have an android { }
section and to import the com.android.library
plugin as well.louiscad
07/11/2019, 8:46 PMSergioedcigreja
07/12/2019, 11:45 AMSam
07/12/2019, 12:32 PMSergioedcigreja
07/12/2019, 12:41 PM