Raccoon/domain/inbox/build.gradle.kts
2024-05-17 23:33:30 +02:00

88 lines
2.5 KiB
Plaintext

import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompileCommon
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
alias(libs.plugins.compose)
alias(libs.plugins.detekt)
}
@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 = "domain.inbox"
isStatic = true
}
}
sourceSets {
val commonMain by getting {
dependencies {
implementation(compose.foundation)
implementation(compose.runtime)
implementation(libs.koin.core)
implementation(projects.core.resources)
implementation(projects.domain.identity)
implementation(projects.domain.lemmy.data)
implementation(projects.domain.lemmy.repository)
}
}
val androidMain by getting {
dependencies {
implementation(libs.androidx.core)
implementation(libs.androidx.work.runtime)
}
}
val androidUnitTest by getting {
dependencies {
implementation(libs.kotlinx.coroutines.test)
implementation(kotlin("test-junit"))
implementation(libs.mockk)
implementation(libs.turbine)
implementation(projects.core.testutils)
}
}
}
}
android {
namespace = "com.github.diegoberaldin.raccoonforlemmy.domain.inbox"
compileSdk = libs.versions.android.targetSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
}
// both :feature:inbox and :domain:inbox are called "inbox" so this causes a name clash
kotlin {
metadata {
compilations.configureEach {
if (name == KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME) {
compileTaskProvider {
this as KotlinCompileCommon
moduleName.set("${project.group}:${moduleName.get()}")
}
}
}
}
}