Files
egutierrez 01042bc23c 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>
2026-04-06 23:47:10 +02:00

80 lines
2.7 KiB
Bash

#!/usr/bin/env bash
# Pipeline: gitea_init_app — Crea repo en Gitea, sube directorio y añade colaborador egutierrez
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../infra/gitea_create_repo.sh"
source "$SCRIPT_DIR/../infra/gitea_push_directory.sh"
source "$SCRIPT_DIR/../infra/gitea_add_collaborator.sh"
main() {
local directory=""
local owner=""
local name=""
local private="false"
# Parsear argumentos
while [[ $# -gt 0 ]]; do
case "$1" in
--directory) directory="$2"; shift 2 ;;
--owner) owner="$2"; shift 2 ;;
--name) name="$2"; shift 2 ;;
--private) private="$2"; shift 2 ;;
*)
# Argumentos posicionales: directory owner [name] [private]
if [[ -z "$directory" ]]; then
directory="$1"
elif [[ -z "$owner" ]]; then
owner="$1"
elif [[ -z "$name" ]]; then
name="$1"
else
private="$1"
fi
shift
;;
esac
done
if [[ -z "$directory" || -z "$owner" ]]; then
echo "gitea_init_app: uso: gitea_init_app <directory> <owner> [name] [private]" >&2
echo "gitea_init_app: o con flags: --directory <dir> --owner <owner> [--name <name>] [--private true]" >&2
return 1
fi
# Inferir nombre del repo desde basename del directorio si no se especificó
if [[ -z "$name" ]]; then
name=$(basename "$directory")
echo "gitea_init_app: nombre inferido del directorio: '$name'" >&2
fi
if [[ -z "${GITEA_URL:-}" ]]; then
echo "gitea_init_app: GITEA_URL no está seteada" >&2
return 1
fi
if [[ -z "${GITEA_TOKEN:-}" ]]; then
echo "gitea_init_app: GITEA_TOKEN no está seteado" >&2
return 1
fi
echo "gitea_init_app: iniciando pipeline para '$owner/$name'..." >&2
echo "gitea_init_app: directorio fuente: '$directory'" >&2
# Paso 1: Crear repo
echo "gitea_init_app: [1/3] creando repositorio..." >&2
gitea_create_repo "$owner" "$name" "$private" "" > /dev/null
# Paso 2: Subir directorio
echo "gitea_init_app: [2/3] subiendo directorio al repositorio..." >&2
gitea_push_directory "$directory" "$owner" "$name"
# Paso 3: Añadir colaborador egutierrez con permisos admin
echo "gitea_init_app: [3/3] añadiendo colaborador egutierrez..." >&2
gitea_add_collaborator "$owner" "$name" "egutierrez" "admin"
echo "gitea_init_app: pipeline completado — ${GITEA_URL}/${owner}/${name}" >&2
echo "${GITEA_URL}/${owner}/${name}"
}
main "$@"