Raccoon/core/api/build.gradle.kts
2024-02-09 21:59:58 +01:00

65 lines
1.7 KiB
Plaintext

plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
alias(libs.plugins.ktorfit)
alias(libs.plugins.ksp)
alias(libs.plugins.kotlinx.serialization)
}
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class)
kotlin {
applyDefaultHierarchyTemplate()
androidTarget {
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
listOf(
iosX64(),
iosArm64(),
iosSimulatorArm64()
).forEach {
it.binaries.framework {
baseName = "api"
}
}
sourceSets {
val commonMain by getting {
dependencies {
implementation(libs.koin.core)
api(libs.ktorfit.lib)
implementation(libs.ktor.serialization)
implementation(libs.ktor.contentnegotiation)
implementation(libs.ktor.json)
implementation(libs.ktor.logging)
implementation(projects.core.utils)
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
}
}
android {
namespace = "com.github.diegoberaldin.raccoonforlemmy.core.api"
compileSdk = libs.versions.android.targetSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
}
dependencies {
add("kspCommonMainMetadata", libs.ktorfit.ksp)
add("kspAndroid", libs.ktorfit.ksp)
add("kspIosX64", libs.ktorfit.ksp)
add("kspIosArm64", libs.ktorfit.ksp)
add("kspIosSimulatorArm64", libs.ktorfit.ksp)
}