feat: add bash infra functions — Gitea, Android SDK, Mantine, Capacitor
Nuevas funciones bash: gestión Gitea (create_repo, list_repos, add_collaborator, push_directory), install_android_sdk, install_mantine, frontend_doctor. Pipelines: capacitor_build_apk y gitea_init_app. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
---
|
||||
name: install_android_sdk
|
||||
kind: function
|
||||
lang: bash
|
||||
domain: infra
|
||||
version: "1.0.0"
|
||||
purity: impure
|
||||
signature: "install_android_sdk() -> void"
|
||||
description: "Descarga e instala Android SDK command-line tools y JDK 17 localmente (sin root/sudo) en $ANDROID_SDK_DIR (default: $HOME/android-sdk). Idempotente: detecta instalacion existente y sale sin hacer nada. Genera env.sh con JAVA_HOME, ANDROID_HOME y PATH listos para hacer source."
|
||||
tags: [android, sdk, jdk, java, install, infra, mobile]
|
||||
uses_functions: []
|
||||
uses_types: []
|
||||
returns: []
|
||||
returns_optional: false
|
||||
error_type: "error_go_core"
|
||||
imports: []
|
||||
params: []
|
||||
output: "sin salida estructurada; imprime progreso y resumen final con rutas de instalacion"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
file_path: "bash/functions/infra/install_android_sdk.sh"
|
||||
---
|
||||
|
||||
## Ejemplo
|
||||
|
||||
```bash
|
||||
# Instalacion en directorio por defecto ($HOME/android-sdk)
|
||||
source install_android_sdk.sh
|
||||
|
||||
# Instalacion en directorio personalizado
|
||||
ANDROID_SDK_DIR=/opt/android source install_android_sdk.sh
|
||||
|
||||
# Si ya esta instalado:
|
||||
# Android SDK ya instalado en: /home/user/android-sdk
|
||||
|
||||
# Instalacion completa imprime:
|
||||
# Descargando JDK 17...
|
||||
# JDK 17 instalado: /home/user/android-sdk/jdk-17/jdk-17.0.x+y
|
||||
# Descargando Android cmdline-tools...
|
||||
# cmdline-tools instalados
|
||||
# Aceptando licencias de Android SDK...
|
||||
# Instalando platform-tools, platforms;android-34, build-tools;34.0.0...
|
||||
#
|
||||
# Android SDK instalado en: /home/user/android-sdk
|
||||
# JDK 17: /home/user/android-sdk/jdk-17/jdk-17.0.x+y
|
||||
# Para activar: source /home/user/android-sdk/env.sh
|
||||
|
||||
# Activar entorno en sesion actual
|
||||
source ~/android-sdk/env.sh
|
||||
```
|
||||
|
||||
## Notas
|
||||
|
||||
Requiere `curl` y `unzip` (disponibles en la mayoria de distros Linux). No requiere root ni sudo.
|
||||
|
||||
El JDK se descarga desde Adoptium (Eclipse Temurin) via su API oficial. La URL de cmdline-tools apunta a la version 11076708 (2024). Si Google actualiza la version, cambiar la URL con el nuevo numero de build.
|
||||
|
||||
La reorganizacion del zip es necesaria porque Google distribuye cmdline-tools con estructura `cmdline-tools/bin/...` pero sdkmanager espera estar en `cmdline-tools/latest/bin/sdkmanager` para que Android Studio y otras herramientas lo detecten correctamente.
|
||||
|
||||
El archivo `env.sh` generado en `$ANDROID_SDK_DIR/env.sh` contiene las variables de entorno necesarias (`JAVA_HOME`, `ANDROID_HOME`, `ANDROID_SDK_ROOT`, `PATH`) y puede hacerse source desde `.bashrc`, `.zshrc` o desde scripts de CI.
|
||||
|
||||
Paquetes instalados: `platform-tools` (adb, fastboot), `platforms;android-34` (API 34), `build-tools;34.0.0`.
|
||||
Reference in New Issue
Block a user