mirror of
https://codeberg.org/Kankys/doxa.git
synced 2026-11-11 06:44:36 +01:00
new-doxa-monorepo
This commit is contained in:
1 parent
b4401527a3
commit
5eacbb0182
162 files changed
+21820
-2
No files matched your search
Executable
+94
@@ -0,0 +1,94 @@
|
||||
#!/bin/bash
|
||||
|
||||
# DOXA-CLI Installation Script
|
||||
|
||||
# --- Nastavení ---
|
||||
|
||||
APP_NAME="doxa-cli"
|
||||
INSTALL_DIR="$HOME/.local/bin"
|
||||
CONFIG_DIR="$HOME/.doxa-cli"
|
||||
CONFIG_FILE="doxa_notes.json"
|
||||
|
||||
# --- Funkce ---
|
||||
|
||||
error_exit() {
|
||||
echo -e "\033[1;31mERROR: $1\033[0m" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
success_message() {
|
||||
echo -e "\033[1;32mSUCCESS: $1\033[0m"
|
||||
}
|
||||
|
||||
info_message() {
|
||||
echo -e "\033[1;34mINFO: $1\033[0m"
|
||||
}
|
||||
|
||||
# --- Hlavní část skriptu ---
|
||||
|
||||
info_message "Kontrola Go instalace..."
|
||||
if ! command -v go &> /dev/null
|
||||
then
|
||||
error_exit "Go není nainstalováno. Prosím, nainstalujte Go před spuštěním tohoto skriptu."
|
||||
fi
|
||||
success_message "Go je nainstalováno."
|
||||
|
||||
info_message "Stažení závislostí projektu..."
|
||||
if ! go mod download
|
||||
then
|
||||
error_exit "Nepodařilo se stáhnout závislosti Go. Zkontrolujte GO moduly a připojení k internetu."
|
||||
fi
|
||||
success_message "Závislosti projektu úspěšně staženy."
|
||||
|
||||
info_message "Kompilace aplikace..."
|
||||
APP_BINARY="$APP_NAME"
|
||||
if ! go build -o "$APP_BINARY" .
|
||||
then
|
||||
error_exit "Nepodařilo se zkompilovat aplikaci. Zkontrolujte chyby v kódu."
|
||||
fi
|
||||
success_message "Aplikace úspěšně zkompilována do './$APP_BINARY'."
|
||||
|
||||
info_message "Instalace aplikace..."
|
||||
|
||||
if ! mkdir -p "$INSTALL_DIR"
|
||||
then
|
||||
error_exit "Nepodařilo se vytvořit cílový adresář '$INSTALL_DIR'. Zkontrolujte oprávnění."
|
||||
fi
|
||||
|
||||
if ! cp "$APP_BINARY" "$INSTALL_DIR/"
|
||||
then
|
||||
error_exit "Nepodařilo se zkopírovat binárku do '$INSTALL_DIR'. Zkontrolujte oprávnění."
|
||||
fi
|
||||
|
||||
chmod +x "$INSTALL_DIR/$APP_NAME"
|
||||
success_message "Aplikace '$APP_NAME' úspěšně nainstalována do '$INSTALL_DIR'."
|
||||
|
||||
info_message "Nastavení konfiguračního adresáře..."
|
||||
|
||||
if ! mkdir -p "$CONFIG_DIR"
|
||||
then
|
||||
error_exit "Nepodařilo se vytvořit konfigurační adresář '$CONFIG_DIR'. Zkontrolujte oprávnění."
|
||||
fi
|
||||
|
||||
if [ ! -f "$CONFIG_DIR/$CONFIG_FILE" ]
|
||||
then
|
||||
echo "[]" > "$CONFIG_DIR/$CONFIG_FILE"
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
error_exit "Nepodařilo se vytvořit konfigurační soubor '$CONFIG_DIR/$CONFIG_FILE'."
|
||||
fi
|
||||
success_message "Konfigurační soubor '$CONFIG_DIR/$CONFIG_FILE' vytvořen."
|
||||
else
|
||||
info_message "Konfigurační soubor '$CONFIG_DIR/$CONFIG_FILE' již existuje."
|
||||
fi
|
||||
|
||||
info_message "Instalace dokončena."
|
||||
success_message "Nyní můžete spustit aplikaci '$APP_NAME' z jakéhokoli místa v terminálu."
|
||||
echo ""
|
||||
echo -e "\033[1;33mPRO TIP:\nPokud \`$APP_NAME\` nefunguje z jakéhokoli místa, možná budete muset přidat '$INSTALL_DIR' do vašeho PATH.\nČasto se to dělá přidáním následujícího řádku do vašich shell profilů (~/.bashrc, ~/.zshrc, ~/.profile):\n\nexport PATH=\$PATH:$INSTALL_DIR\n\nPoté restartujte terminál nebo načtěte profil (např. \`source ~/.bashrc\`).\033[0m"
|
||||
echo ""
|
||||
|
||||
# Vyčištění
|
||||
rm "$APP_BINARY"
|
||||
|
||||
exit 0
|
||||
Reference in new issue
Block a user