import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinCocoapods) alias(libs.plugins.androidLibrary) alias(libs.plugins.compose.compiler) alias(libs.plugins.composeMultiplatform) id("com.google.devtools.ksp") } kotlin { androidTarget { compilations.all { compileTaskProvider.configure { compilerOptions { jvmTarget.set(JvmTarget.JVM_1_8) } } } } iosArm64().apply { compilations.getByName("main") { val cin by cinterops.creating { definitionFile.set(project.file("Ring.def")) packageName("com.whitefish.ring.objc") val files = project.fileTree("../iosApp/iosApp/Libs").files.filter { it.extension == "h" } headers(files) val links = files.map { "-I${it.parent}" }.distinct() compilerOpts(links) compilerOpts.add("-I../iosApp/Pods/YYKit/YYKit/Base/Foundation") compilerOpts.add("-I../iosApp/Pods/Masonry/Masonry") compilerOpts.add("-I../iosApp/Pods/QMUIKit/QMUIKit") println("cinterops build complete") } } } cocoapods { summary = "Some description for the Shared Module" homepage = "Link to the Shared Module homepage" version = "1.0" ios.deploymentTarget = "16.0" podfile = project.file("../iosApp/Podfile") framework { baseName = "shared" isStatic = true freeCompilerArgs += listOf( "-linker-option", "-L${project.projectDir.parent}/iosApp/iosApp/Libs", "-linker-option", "-lRingSDK_2.0.2", ) } } sourceSets { commonMain.dependencies { implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.2") implementation("io.github.aakira:napier:2.7.1") implementation(compose.runtime) implementation(compose.foundation) implementation(compose.material3) implementation(compose.ui) implementation(compose.components.resources) implementation(compose.components.uiToolingPreview) implementation(libs.androidx.lifecycle.viewmodel) implementation(libs.androidx.lifecycle.runtimeCompose) implementation(libs.lifecycle.viewmodel.compose) implementation(libs.vico.multiplatform) implementation("androidx.datastore:datastore:1.1.7") implementation("androidx.datastore:datastore-preferences:1.1.7") implementation(project.dependencies.platform("io.insert-koin:koin-bom:4.0.3")) implementation("io.insert-koin:koin-core") } commonTest.dependencies { implementation(libs.kotlin.test) } } } android { namespace = "com.whitefish.ring" compileSdk = 35 defaultConfig { minSdk = 29 } lint { disable.add("NullSafeMutableLiveData") } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } buildToolsVersion = "36.0.0" dependencies { implementation(libs.androidx.room.runtime) ksp(libs.androidx.room.compiler) implementation(libs.android.database.sqlcipher) implementation(fileTree("libs")) implementation("com.google.accompanist:accompanist-permissions:0.37.3") } } dependencies { implementation(libs.androidx.activity.ktx) debugImplementation(libs.androidx.ui.tooling) }