Raccoon/core/l10n/build.gradle.kts

93 lines
2.3 KiB
Plaintext
Raw Normal View History

import io.gitlab.arturbosch.detekt.Detekt
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
plugins {
alias(libs.plugins.kotlin.multiplatform)
alias(libs.plugins.android.library)
alias(libs.plugins.compose)
alias(libs.plugins.ksp)
2024-03-30 09:11:40 +01:00
alias(libs.plugins.detekt)
}
@OptIn(org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi::class)
kotlin {
applyDefaultHierarchyTemplate()
androidTarget {
compilations.all {
kotlinOptions {
jvmTarget = "1.8"
}
}
}
listOf(
iosX64(),
iosArm64(),
2024-05-15 23:49:48 +02:00
iosSimulatorArm64(),
).forEach {
it.binaries.framework {
2024-05-17 23:33:30 +02:00
baseName = "core.l10n"
isStatic = true
}
}
sourceSets {
val commonMain by getting {
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.material3)
implementation(libs.koin.core)
implementation(libs.lyricist)
}
}
}
}
android {
namespace = "com.github.diegoberaldin.raccoonforlemmy.core.commonui.l10n"
compileSdk = libs.versions.android.targetSdk.get().toInt()
defaultConfig {
minSdk = libs.versions.android.minSdk.get().toInt()
}
}
dependencies {
add("kspCommonMainMetadata", libs.lyricist.ksp)
}
ksp {
arg(
"lyricist.xml.resourcesPath",
kotlin.sourceSets.findByName("androidMain")?.resources?.srcDirs
?.first()?.absolutePath.orEmpty()
.replace(
"androidMain/resources",
"androidMain/res",
),
)
arg("lyricist.packageName", "com.github.diegoberaldin.raccoonforlemmy.core.l10n")
arg("lyricist.xml.moduleName", "xml")
arg("lyricist.xml.defaultLanguageTag", "en")
}
tasks.withType<KotlinCompile<*>>().configureEach {
if (name != "kspCommonMainKotlinMetadata") {
dependsOn("kspCommonMainKotlinMetadata")
}
}
2024-05-15 18:06:29 +02:00
kotlin.sourceSets.commonMain {
kotlin.srcDir("build/generated/ksp/metadata/commonMain/kotlin")
}
allprojects {
tasks.withType<Detekt> {
setSource(files(project.projectDir))
exclude("**/build/**")
}
}