Bradleycorn
05/03/2022, 10:39 PMbuild.gradle.kts
is posted in the 🧵 . Any Ideas? Google has been no help at all.import org.jetbrains.kotlin.gradle.plugin.mpp.apple.XCFramework
val ktorVersion = "1.6.1"
buildscript {
dependencies {
classpath("org.jetbrains.kotlin:kotlin-serialization:1.6.21")
}
}
plugins {
kotlin("multiplatform") version "1.6.21"
kotlin("native.cocoapods") version "1.6.21"
kotlin("plugin.serialization") version "1.6.21"
id("com.android.library")
}
group = "com.mylib"
version = "1.0"
repositories {
google()
jcenter()
mavenCentral()
}
kotlin {
android()
val xcFramework = XCFramework()
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = "MyLib"
xcFramework.add(this)
}
}
cocoapods {
// Required properties
// Specify the required Pod version here. Otherwise, the Gradle project version is used.
// version = "1.0"
summary = "Networking Library"
homepage = "<https://github.com/myorg/my-lib>"
// Optional properties
// Configure the Pod name here instead of changing the Gradle project name
name = "MyLib"
framework {
// Required properties
// Framework name configuration. Use this property instead of deprecated 'frameworkName'
baseName = "network"
// Optional properties
// Dynamic framework support
isStatic = false
// Dependency export
//export(project(":anotherKMMModule"))
//transitiveExport = false // This is default.
// Bitcode embedding
embedBitcode(org.jetbrains.kotlin.gradle.plugin.mpp.BitcodeEmbeddingMode.BITCODE)
}
// Maps custom Xcode configuration to NativeBuildType
xcodeConfigurationToNativeBuildType["CUSTOM_DEBUG"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.DEBUG
xcodeConfigurationToNativeBuildType["CUSTOM_RELEASE"] = org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType.RELEASE
}
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0-native-mt")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.2.2")
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
val androidMain by getting {
dependencies {
implementation("io.ktor:ktor-client-android:$ktorVersion")
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("io.ktor:ktor-client-serialization:$ktorVersion")
}
}
val androidTest by getting {
dependencies {
implementation("junit:junit:4.13.2")
}
}
val iosX64Main by getting
val iosArm64Main by getting
val iosSimulatorArm64Main by getting
val iosMain by creating {
dependsOn(commonMain)
iosX64Main.dependsOn(this)
iosArm64Main.dependsOn(this)
iosSimulatorArm64Main.dependsOn(this)
dependencies {
implementation("io.ktor:ktor-client-ios:$ktorVersion")
}
}
val iosX64Test by getting
val iosArm64Test by getting
val iosSimulatorArm64Test by getting
val iosTest by creating {
dependsOn(commonTest)
iosX64Test.dependsOn(this)
iosArm64Test.dependsOn(this)
iosSimulatorArm64Test.dependsOn(this)
}
}
}
android {
compileSdkVersion(31)
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdkVersion(24)
targetSdkVersion(31)
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
Rick Clephas
05/04/2022, 5:24 AM