Jordi Saumell
03/30/2021, 2:48 PMplugins {
kotlin("multiplatform")
id("com.android.library")
id("org.jetbrains.kotlin.native.cocoapods")
id("com.chromaticnoise.multiplatform-swiftpackage") version "2.0.3"
}
// CocoaPods requires the podspec to have a version.
version = "1.0"
android {
val versionConfig = Version()
compileSdkVersion(AndroidSdk.compile)
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdkVersion(AndroidSdk.min)
targetSdkVersion(AndroidSdk.target)
versionCode = versionConfig.versionCode
versionName = versionConfig.versionName
}
}
// workaround for <https://youtrack.jetbrains.com/issue/KT-43944>
android {
configurations {
create("androidTestApi")
create("androidTestDebugApi")
create("androidTestReleaseApi")
create("testApi")
create("testDebugApi")
create("testReleaseApi")
}
}
kotlin {
val sdkName: String? = System.getenv("SDK_NAME")
val isiOSDevice = sdkName.orEmpty().startsWith("iphoneos")
if (isiOSDevice) {
iosArm64("ios")
} else {
iosX64("ios")
}
android()
// jvm()
cocoapods {
// Configure fields required by CocoaPods.
summary = "Some description for a Kotlin/Native module"
homepage = "Link to a Kotlin/Native module homepage"
}
sourceSets {
val commonMain by getting {
dependencies {
implementation(Dependencies.Coroutines.common) {
version {
strictly(Versions.coroutines)
}
}
// koin
api(Dependencies.Koin.core)
api(Dependencies.Koin.test)
// kermit
api(Dependencies.Other.kermit)
api(project(":shared:core"))
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}
val androidMain by getting {
dependencies {
implementation(Dependencies.Android.lifecycle)
implementation(Dependencies.Compose.runtimeSaveable)
}
}
val androidTest by getting {
dependencies {
implementation(kotlin("test-junit"))
implementation(Dependencies.Test.junit)
}
}
val iosMain by getting
val iosTest by getting
}
}
multiplatformSwiftPackage {
packageName("KMMBase")
swiftToolsVersion("5.3")
targetPlatforms {
iOS { v("13") }
}
}
plugins {
kotlin("multiplatform")
id("com.android.library")
id("org.jetbrains.kotlin.native.cocoapods")
id("com.chromaticnoise.multiplatform-swiftpackage")
}
// CocoaPods requires the podspec to have a version.
version = "1.0"
android {
val versionConfig = Version()
compileSdkVersion(AndroidSdk.compile)
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdkVersion(AndroidSdk.min)
targetSdkVersion(AndroidSdk.target)
versionCode = versionConfig.versionCode
versionName = versionConfig.versionName
}
}
// workaround for <https://youtrack.jetbrains.com/issue/KT-43944>
android {
configurations {
create("androidTestApi")
create("androidTestDebugApi")
create("androidTestReleaseApi")
create("testApi")
create("testDebugApi")
create("testReleaseApi")
}
}
kotlin {
val sdkName: String? = System.getenv("SDK_NAME")
val isiOSDevice = sdkName.orEmpty().startsWith("iphoneos")
if (isiOSDevice) {
iosArm64("ios")
} else {
iosX64("ios")
}
android()
// jvm()
cocoapods {
// Configure fields required by CocoaPods.
summary = "Some description for a Kotlin/Native module"
homepage = "Link to a Kotlin/Native module homepage"
}
sourceSets {
val commonMain by getting
val commonTest by getting
val androidMain by getting
val androidTest by getting
val iosMain by getting
val iosTest by getting
}
}
Javier
03/30/2021, 3:03 PMJordi Saumell
03/30/2021, 3:12 PMJavier
03/30/2021, 4:10 PMJordi Saumell
03/30/2021, 4:37 PMval XTest by getting
from shared:core but none of this works.
I don’t know if you meant this or something elseval XTest by getting
from the shared gradle fixes the build, but I still cannot use the classes from ‘shared:core’ in ‘shared’Javier
03/30/2021, 4:51 PMJordi Saumell
03/30/2021, 4:53 PMid("com.chromaticnoise.multiplatform-swiftpackage")
from the core gradle. Now it works. Sorry and thank you!