efc9911925
Design system Compose (kotlin/functions/ui, modulo Gradle `fn.compose:ui`):
- FnTokens + FnTheme con la paleta heredada al hex de cpp/DESIGN_SYSTEM.md
(Mantine v9 dark + indigo), identica a la web @fn_library y a las apps C++.
- 26 componentes Compose (Layout/Display/Inputs/Feedback/Data/Charts) +
FnTheme + FnTokens registrados en el registry (28 entradas kind=component
lang=kt domain=ui), descubribles via fn_search. Habilitan init_kotlin_app.
Recuperacion: el commit cb6d9e6 habia anadido `kotlin/functions/ui/` al
.gitignore, por eso el design system nunca se versiono y se perdio del working
tree. Des-ignorado; el .gitignore interno del modulo ya excluye
build/.gradle/local.properties. La gallery (apps/gallery_kt) se recupero del
sub-repo Gitea y sus 27 componentes se reconstruyeron con su MainActivity como
contrato exacto.
Toolbelt Android Linux-first (antes asumia WSL2 + Windows):
- adb_wsl 1.1.0, android_emulator_start 1.1.0, android_emulator_list 1.1.0:
resuelven adb/emulator nativos del SDK ($ANDROID_HOME), .exe solo fallback WSL2.
- android_emulator_start: fix `timeout adb_run wait-for-device` (timeout no puede
ejecutar una funcion del shell; ahora invoca el binario $ADB directamente).
- install_android_sdk 1.0.1: fix licencias bajo pipefail (SIGPIPE de `yes`) +
trap EXIT con variable unbound.
- docs/capabilities/android.md regenerado Linux-first + seccion design system.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
44 lines
1.1 KiB
Kotlin
44 lines
1.1 KiB
Kotlin
plugins {
|
|
id("com.android.library") version "8.4.0"
|
|
id("org.jetbrains.kotlin.android") version "1.9.22"
|
|
}
|
|
|
|
// group:name must match the `fn.compose:ui` module notation that apps substitute.
|
|
group = "fn.compose"
|
|
version = "0.1.0"
|
|
|
|
android {
|
|
namespace = "fn.compose.ui"
|
|
compileSdk = 34
|
|
|
|
defaultConfig {
|
|
minSdk = 24
|
|
consumerProguardFiles("consumer-rules.pro")
|
|
}
|
|
|
|
buildFeatures {
|
|
compose = true
|
|
}
|
|
composeOptions {
|
|
kotlinCompilerExtensionVersion = "1.5.8"
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility = JavaVersion.VERSION_17
|
|
targetCompatibility = JavaVersion.VERSION_17
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "17"
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
// `api` so consuming apps inherit Compose transitively through fn.compose:ui.
|
|
implementation(platform("androidx.compose:compose-bom:2024.02.00"))
|
|
api("androidx.compose.ui:ui")
|
|
api("androidx.compose.ui:ui-graphics")
|
|
api("androidx.compose.ui:ui-text")
|
|
api("androidx.compose.foundation:foundation")
|
|
api("androidx.compose.material3:material3")
|
|
api("androidx.compose.ui:ui-tooling-preview")
|
|
}
|