42c14fae59
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
---
|
|
id: 0078
|
|
title: kotlin/functions/ui requiere ser modulo Gradle library para composite build
|
|
status: pending
|
|
priority: high
|
|
created: 2026-05-10
|
|
fix_applied: 2026-05-10
|
|
related_functions:
|
|
- 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
|
|
related_apps: [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/*.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
|
|
|
|
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` propio** — `build/`, `.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).
|