46 lines
1.5 KiB
Kotlin
46 lines
1.5 KiB
Kotlin
plugins {
|
|
// AGP must apply BEFORE recipe.kotlin.multiplatform — the latter calls androidTarget(),
|
|
// which requires the Android Gradle Plugin to already be on the project. Gradle applies
|
|
// plugin IDs in declaration order, so com.android.library is listed first.
|
|
alias(libs.plugins.androidLibrary)
|
|
id("recipe.kotlin.multiplatform")
|
|
id("recipe.quality")
|
|
}
|
|
|
|
kotlin {
|
|
explicitApi()
|
|
|
|
// Override framework baseName: shared exposes "Shared.framework" to Swift, while
|
|
// composeApp's convention-plugin default is "ComposeApp.framework". (D-07 / PITFALL #10)
|
|
targets.withType<org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget>().configureEach {
|
|
binaries.withType<org.jetbrains.kotlin.gradle.plugin.mpp.Framework>().configureEach {
|
|
baseName = "Shared"
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
commonMain.dependencies {
|
|
// Phase 1: intentionally empty. Domain models + DTOs land Phase 2+.
|
|
// D-19 / INFRA-06: Do NOT add Ktor, Compose, or SQLDelight deps here — EVER.
|
|
}
|
|
}
|
|
}
|
|
|
|
android {
|
|
namespace = "dev.ulfrx.recipe.shared"
|
|
compileSdk =
|
|
libs.versions.android.compileSdk
|
|
.get()
|
|
.toInt()
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
}
|
|
defaultConfig {
|
|
minSdk =
|
|
libs.versions.android.minSdk
|
|
.get()
|
|
.toInt()
|
|
}
|
|
}
|