#!/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