Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.0 KiB
id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags
| id | title | status | type | domain | scope | priority | depends | blocks | related | created | updated | tags |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0078 | kotlin/functions/ui requiere ser modulo Gradle library para composite build | completado | feature | multi-app | alta | 2026-05-10 | 2026-05-17 |
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/*.kt → kotlin/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
- 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 taskspara inspeccionar. - Tests propios del modulo — anadir
src/test/kotlin/.../FnColorsTest.ktetc. para validar tokens (ej. assertEquals hex codes Mantine spec). .gitignorepropio —build/,.gradle/,local.properties.- 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).