mana-kotlin-ui/build.gradle.kts
Till JS d547968656 build: Maven-Registry till/maven -> mana/maven (Namespace-Vereinheitlichung)
Kotlin-Libs liegen jetzt in der Verein-Package-Registry git.mana.how/api/packages/mana/maven
(alle 10 Libs / 50 Versionen registry-zu-registry kopiert). Consumer- und
Publisher-URLs nachgezogen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 18:05:28 +02:00

93 lines
2.3 KiB
Kotlin

import org.jetbrains.kotlin.gradle.dsl.JvmTarget
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
`maven-publish`
}
group = "ev.mana"
version = "0.20.0"
android {
namespace = "ev.mana.ui"
compileSdk = 36
defaultConfig {
minSdk = 24
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
buildFeatures {
compose = true
}
publishing {
singleVariant("release") {
withSourcesJar()
}
}
}
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}
dependencies {
// Geteilte mana-Kotlin-Schicht: Tokens (Theme) + Core (Service-Clients).
// `api`, weil Konsumenten die Typen (ManaTheme, CreditsClient, ManaBalance …)
// transitiv sehen sollen.
api(libs.mana.tokens)
api(libs.mana.core)
implementation(libs.androidx.core.ktx) // NotificationCompat für ManaReminders
api(libs.androidx.datastore.preferences) // ManaTokenStore / ManaAppearanceStore / ManaOnboardingStore
api(libs.coil.compose) // ManaAccountAvatarButton lädt das Ökosystem-Profilbild
api(libs.androidx.activity.compose) // ManaActivity (enableEdgeToEdge) + Permission-Launcher
val composeBom = platform(libs.compose.bom)
api(composeBom)
api(libs.compose.foundation)
api(libs.compose.ui)
api(libs.compose.ui.graphics)
api(libs.compose.ui.text)
api(libs.compose.material3)
implementation("androidx.compose.material:material-icons-extended") // ManaThemeGallery: Lock/OpenInNew
api(libs.compose.ui.tooling.preview)
api(libs.androidx.navigation.compose) // ManaNavHost: flotten-einheitliche Seiten-Übergänge
debugImplementation(libs.compose.ui.tooling)
}
afterEvaluate {
publishing {
publications {
create<MavenPublication>("release") {
from(components["release"])
artifactId = "mana-kotlin-ui"
}
}
repositories {
maven {
name = "Forgejo"
val forgejoUrl = (findProperty("forgejoPackagesUrl") as String?)
?: "https://git.mana.how/api/packages/mana/maven"
url = uri(forgejoUrl)
credentials(HttpHeaderCredentials::class) {
name = "Authorization"
value = "token ${(findProperty("forgejoToken") as String?) ?: System.getenv("FORGEJO_TOKEN") ?: ""}"
}
authentication {
create<HttpHeaderAuthentication>("header")
}
}
}
}
}