--- 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, pendiente-usar] 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. ---