feat(kotlin-compose): design system + 33 components + gallery_kt + e2e android emulator + scaffolder fixes
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
---
|
||||
name: gradle_run
|
||||
kind: function
|
||||
lang: bash
|
||||
domain: infra
|
||||
version: "1.0.0"
|
||||
purity: impure
|
||||
signature: "gradle_run(project_dir: string, task...: string) -> int"
|
||||
description: "Wrapper canonico para invocar gradlew Android en WSL2 con JDK 17 + ANDROID_HOME validados."
|
||||
tags: [android, gradle, kotlin, build]
|
||||
params:
|
||||
- name: project_dir
|
||||
desc: "Path absoluto al proyecto Gradle (debe contener gradlew)"
|
||||
- name: task
|
||||
desc: "Tarea(s) Gradle a ejecutar (ej. assembleDebug, :app:test). Variadic"
|
||||
output: "Stdout/stderr del build Gradle. Exit code = exit code de gradlew. Exit 1 si JDK17 missing, exit 2 si no hay gradlew."
|
||||
uses_functions: []
|
||||
uses_types: []
|
||||
returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: []
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
file_path: "bash/functions/infra/gradle_run.sh"
|
||||
notes: "Las demas funciones gradle_* lo sourcean. Reutiliza patron de adb_wsl_bash_infra para ser source-able+ejecutable. Cubre tanto SDK Linux (~/Android/Sdk via install_android_sdk) como SDK Windows (/mnt/c/...) montado en WSL."
|
||||
---
|
||||
|
||||
## Ejemplo
|
||||
|
||||
```bash
|
||||
# Como libreria (en otro script gradle_*)
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/gradle_run.sh"
|
||||
gradle_run "$project_dir" assembleDebug
|
||||
|
||||
# Directo
|
||||
bash bash/functions/infra/gradle_run.sh /path/to/MyApp assembleDebug
|
||||
bash bash/functions/infra/gradle_run.sh /path/to/MyApp :app:test :app:lint
|
||||
```
|
||||
|
||||
## Comportamiento de resolucion
|
||||
|
||||
### JAVA_HOME
|
||||
Si no esta fijado en el entorno, busca en orden:
|
||||
1. `/usr/lib/jvm/java-17-openjdk-amd64`
|
||||
2. `/usr/lib/jvm/temurin-17-jdk-amd64`
|
||||
3. `/opt/android-studio-jbr/jbr`
|
||||
|
||||
Si ninguno existe → error en stderr y `return 1`.
|
||||
|
||||
### ANDROID_HOME
|
||||
Si no esta fijado:
|
||||
1. Intenta `$HOME/Android/Sdk` (SDK Linux via `install_android_sdk_bash_infra`)
|
||||
2. Si no existe, intenta `$ANDROID_SDK_WIN` (SDK Windows montado en `/mnt/c/...`)
|
||||
3. Si ninguno, lo deja vacio — gradle mostrara el error adecuado para builds JVM puros
|
||||
|
||||
## Exit codes
|
||||
|
||||
| Codigo | Significado |
|
||||
|--------|-------------|
|
||||
| 0 | Build exitoso |
|
||||
| 1 | JDK 17 no encontrado |
|
||||
| 2 | `./gradlew` no existe en `project_dir` |
|
||||
| * | Exit code propagado de gradlew |
|
||||
|
||||
## Notas
|
||||
|
||||
Source-able y ejecutable directo. Al sourcear, el caller importa la funcion `gradle_run` sin ejecutarla. Al ejecutar directamente, delega `"$@"` a `gradle_run`.
|
||||
|
||||
No exporta `JAVA_HOME`/`ANDROID_HOME` al entorno del shell padre — los variables se pasan solo al subshell de gradlew para evitar contaminar el entorno.
|
||||
---
|
||||
Reference in New Issue
Block a user