cb6d9e61d1
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
57 lines
1.7 KiB
Markdown
57 lines
1.7 KiB
Markdown
---
|
|
name: gradle_clean
|
|
kind: function
|
|
lang: bash
|
|
domain: infra
|
|
version: "1.0.0"
|
|
purity: impure
|
|
signature: "gradle_clean(project_dir: string) -> int"
|
|
description: "Limpia build artifacts de un proyecto Android (gradle clean + rm .gradle + rm build)."
|
|
tags: [android, gradle, clean, build]
|
|
params:
|
|
- name: project_dir
|
|
desc: "Raiz del proyecto Gradle"
|
|
output: "Stdout build log de gradle clean. Exit code = exit gradlew."
|
|
uses_functions: [gradle_run_bash_infra]
|
|
uses_types: []
|
|
returns: []
|
|
returns_optional: false
|
|
error_type: "error_go_core"
|
|
imports: []
|
|
tested: false
|
|
tests: []
|
|
test_file_path: ""
|
|
file_path: "bash/functions/infra/gradle_clean.sh"
|
|
notes: "Util cuando builds incrementales se corrompen. NO borra .idea ni gradle.properties. Para reset total usar `rm -rf $project_dir/{.gradle,build,app/build}`."
|
|
---
|
|
|
|
## Ejemplo
|
|
|
|
```bash
|
|
# Como libreria
|
|
source bash/functions/infra/gradle_clean.sh
|
|
gradle_clean /path/to/MyApp
|
|
|
|
# Directo
|
|
bash bash/functions/infra/gradle_clean.sh /path/to/MyApp
|
|
```
|
|
|
|
## Comportamiento
|
|
|
|
1. Invoca `gradle_run "$project_dir" "clean"` — si falla, propaga su exit code y para.
|
|
2. `rm -rf "$project_dir/.gradle"` — best-effort (ignora si no existe).
|
|
3. `rm -rf "$project_dir/build"` — best-effort (ignora si no existe).
|
|
4. Retorna 0 siempre que gradle clean haya terminado OK.
|
|
|
|
## Notas
|
|
|
|
Source-able y ejecutable directo. Sourcear `gradle_run.sh` al inicio garantiza
|
|
que `JAVA_HOME` y `ANDROID_HOME` se resuelven con la misma logica que el resto
|
|
de las funciones gradle_*.
|
|
|
|
Los directorios `.gradle` (cache de dependencias y metadata del daemon) y
|
|
`build` (outputs compilados) son los principales responsables de builds
|
|
corrompidos. Su eliminacion fuerza una descarga/recompilacion completa en el
|
|
siguiente build.
|
|
---
|