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>
93 lines
2.3 KiB
Kotlin
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")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|