Files
fn_registry/dev/issues/completed/0078-kotlin-functions-ui-gradle-library.md
T

2.1 KiB

id, title, status, priority, created, fix_applied, related_functions, related_apps
id title status priority created fix_applied related_functions related_apps
0078 kotlin/functions/ui requiere ser modulo Gradle library para composite build pending high 2026-05-10 2026-05-10
fn_colors_kt_ui
fn_spacing_kt_ui
fn_radius_kt_ui
fn_typography_kt_ui
fn_shadows_kt_ui
fn_tokens_kt_ui
fn_theme_kt_ui
counter_kt

Contexto

Apps Kotlin Compose nuevas (counter_kt y futuras) consumen kotlin/functions/ui/ via Gradle composite build (includeBuild en settings.gradle.kts). Para que funcione, kotlin/functions/ui/ debe ser un proyecto Gradle valido (com.android.library + Compose).

Inicialmente solo habia .kt + .md sueltos sin estructura Gradle.

Fix aplicado (2026-05-10)

Anadidos a kotlin/functions/ui/:

  • settings.gradle.kts (rootProject.name = "fn-compose-ui")
  • build.gradle.kts (com.android.library + kotlin-android + Compose 2024.02.00)
  • gradle.properties (jvmargs, useAndroidX)
  • src/main/AndroidManifest.xml (vacio, package via namespace)

Movidos: 7 .kt desde kotlin/functions/ui/*.ktkotlin/functions/ui/src/main/kotlin/fn/compose/theme/*.kt. Estructura Gradle estandar.

Actualizado file_path en 7 .md apuntando al nuevo path. .md se quedan en kotlin/functions/ui/ (raiz del modulo) — registry los detecta normal.

Pendientes

  1. Anadir wrapper Gradle propio al modulo — actualmente depende de que el caller (counter_kt) bootstrap gradle. Sin wrapper propio, no se puede cd kotlin/functions/ui && ./gradlew tasks para inspeccionar.
  2. Tests propios del modulo — anadir src/test/kotlin/.../FnColorsTest.kt etc. para validar tokens (ej. assertEquals hex codes Mantine spec).
  3. .gitignore propiobuild/, .gradle/, local.properties.
  4. Documentacion kotlin/functions/ui/README.md — como anadir un nuevo componente, convencion package, layout.

Validacion

fn run init_kotlin_app smoke && cd apps/smoke && ./gradlew :app:assembleDebug corre y enlaza correctamente con fn.compose:ui del composite build (counter_kt confirmado funcionando 2026-05-10).