[IMPROVED] Actualizar fjadmin_install.sh para usar console.lib y mensajes i18n
- Añadir mensajes fjmsg_* a developers.es para soporte de localización - Integrar funciones de diálogo de console.lib para mejorar la interfaz de usuario - Crear estructura de función principal para mejor organización del script - Mejorar manejo de errores con mensajes informativos 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d5b3b1bc31
commit
e67b6fc5de
2 changed files with 155 additions and 0 deletions
138
bin/fjadmin_install.sh
Executable file
138
bin/fjadmin_install.sh
Executable file
|
@ -0,0 +1,138 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Script: fjadmin_install.sh
|
||||
# Description: Script para instalar Forgejo Manager CLI.
|
||||
# Created: 2025/03/19 11:57:08
|
||||
# Modified: 2025/03/19 11:57:08
|
||||
# [Author] Cortana Rosero One <cortana@rosero.one>
|
||||
# [Generated] Created by Claude Code (claude-3-7-sonnet-20250219)
|
||||
#
|
||||
# Derechos de Autor (C) [2025] [Mauro Rosero P. <mauro@rosero.one>]
|
||||
#
|
||||
# Este programa es software libre: usted puede redistribuirlo y/o modificarlo
|
||||
# bajo los términos de la Licencia Pública Affero General de GNU tal como
|
||||
# lo publica la Free Software Foundation, ya sea la versión 3 de la licencia,
|
||||
# o (a su elección) cualquier versión posterior.
|
||||
#
|
||||
# Este programa se distribuye con la esperanza de que sea útil,
|
||||
# pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
|
||||
# COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
|
||||
# Licencia Pública Affero General de GNU para obtener más detalles.
|
||||
#
|
||||
# Debería haber recibido una copia de la Licencia Pública Affero General
|
||||
# junto con este programa. Si no la recibió, consulte <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Configuración inicial
|
||||
# Usar DEVELOPER_DIR de base.lib
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
BIN_BASE="bin"
|
||||
BIN_LIBS="lib"
|
||||
BIN_MESG="msg"
|
||||
BIN_CFGS="config"
|
||||
|
||||
# Leer DEVSPATH desde el archivo de configuración o usar "devs" por defecto
|
||||
if [ -f "$SCRIPT_DIR/config/devspath.dat" ]; then
|
||||
DEVSPATH=$(cat "$SCRIPT_DIR/$BIN_CFGS/devspath.dat")
|
||||
else
|
||||
DEVSPATH="devs"
|
||||
fi
|
||||
|
||||
BIN_HOME="$HOME/$DEVSPATH"
|
||||
VERSION=$(cat "$BIN_HOME/$BIN_BASE/$BIN_CFGS/version")
|
||||
|
||||
# CHECK SHELL LANGUAGE
|
||||
BIN_LANG=${LANG:0:2}
|
||||
|
||||
# Importar bibliotecas necesarias
|
||||
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib"
|
||||
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/developers.lib"
|
||||
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/console.lib"
|
||||
|
||||
# Cargar mensajes en el idioma del sistema o español por defecto
|
||||
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
|
||||
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "developers"
|
||||
title="${head_000} ${head_002}"
|
||||
apps_title="${fjmsg_000}"
|
||||
|
||||
|
||||
# Verificar si dialog está instalado
|
||||
check_dialog_installed() {
|
||||
if ! command -v dialog &> /dev/null; then
|
||||
echo "${head_001}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para verificar si cargo está instalado
|
||||
check_cargo() {
|
||||
if ! command -v cargo &> /dev/null; then
|
||||
dialog_error_box "${head_info}" "${fjmsg_002}"
|
||||
|
||||
# Mostrar progreso de instalación
|
||||
echo "curl https://sh.rustup.rs -sSf | sh"
|
||||
curl https://sh.rustup.rs -sSf | sh
|
||||
|
||||
# Cargar el entorno de Rust
|
||||
source "$HOME/.cargo/env"
|
||||
|
||||
dialog_error_box "${head_info}" "${fjmsg_003}"
|
||||
else
|
||||
dialog_error_box "${head_info}" "${fjmsg_004}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Función para verificar si forgejo-cli está instalado
|
||||
check_forgejo_cli() {
|
||||
if ! command -v codeberg &> /dev/null; then
|
||||
dialog_error_box "${head_info}" "${fjmsg_005}"
|
||||
|
||||
# Verificar que cargo esté disponible
|
||||
if ! command -v cargo &> /dev/null; then
|
||||
dialog_error_box "${head_error}" "${fjmsg_006}\n${fjmsg_007}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Instalar forgejo-cli (codeberg-cli)
|
||||
echo "cargo install codeberg-cli"
|
||||
cargo install codeberg-cli
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
dialog_error_box "${head_info}" "${fjmsg_008}"
|
||||
else
|
||||
dialog_error_box "${head_error}" "${fjmsg_009}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
dialog_error_box "${head_info}" "${fjmsg_008}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Función principal
|
||||
main() {
|
||||
# Verificar si dialog está instalado
|
||||
check_dialog_installed
|
||||
|
||||
# Preguntar al usuario si desea instalar Forgejo CLI
|
||||
dialog_yesno "${fjmsg_012}\n\n${fjmsg_013}"
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog_error_box "${head_canceled}" "${fjmsg_014}"
|
||||
clear
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Verificar si cargo está instalado
|
||||
check_cargo
|
||||
|
||||
dialog_error_box "${head_info}" "${fjmsg_010}"
|
||||
|
||||
# Instalar forgejo-cli si no está instalado
|
||||
check_forgejo_cli
|
||||
|
||||
dialog_error_box "${head_info}" "${fjmsg_011}"
|
||||
|
||||
clear
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Ejecutar función principal
|
||||
main
|
|
@ -77,3 +77,20 @@ qrmsg_012="Error"
|
|||
qrmsg_013="Dialog no está instalado"
|
||||
qrmsg_014="Zbar no está instalado"
|
||||
|
||||
# Mensajes para fjadmin_install.sh
|
||||
fjmsg_000="INSTALADOR DE FORGEJO CLI"
|
||||
fjmsg_001="Instalando Forgejo CLI"
|
||||
fjmsg_002="Cargo no está instalado. Instalando Rust y Cargo..."
|
||||
fjmsg_003="Rust y Cargo han sido instalados correctamente."
|
||||
fjmsg_004="Cargo ya está instalado."
|
||||
fjmsg_005="Forgejo CLI no está instalado. Instalando..."
|
||||
fjmsg_006="ERROR: No se pudo encontrar cargo en el PATH después de la instalación."
|
||||
fjmsg_007="Por favor reinicie su terminal e intente nuevamente."
|
||||
fjmsg_008="Forgejo CLI instalado correctamente."
|
||||
fjmsg_009="ERROR: No se pudo instalar Forgejo CLI."
|
||||
fjmsg_010="Preparando instalación de Forgejo CLI..."
|
||||
fjmsg_011="Instalación completada."
|
||||
fjmsg_012="¿Desea instalar Forgejo CLI?"
|
||||
fjmsg_013="Esta herramienta le permite administrar instancias de Forgejo desde línea de comandos."
|
||||
fjmsg_014="Instalación cancelada por el usuario."
|
||||
|
||||
|
|
Loading…
Reference in a new issue