refactor: remove dead code and fix --url flag

Dead code removed:
- DRY_RUN: set but never checked anywhere
- debug(): defined but never called
- C_BG_YELLOW: defined but never used
- --dry-run/-n flag: accepted but had no effect
- --verbose/-v flag: accepted but not used (comment said 'not used yet')

Bugs fixed:
- --url flag was broken: URL derivation (NITRO_DOMAIN, NITRO_SOCKET_URL, etc.)
  happened at module level BEFORE CLI parsing, so --url had no effect on derived
  values. Moved URL derivation into main() after CLI parsing.

Cleanup:
- Extracted load_branches() helper to replace 3x duplicated branch loading pattern
- Total: -35 lines, same functionality
This commit is contained in:
root
2026-06-25 21:03:42 +02:00
parent b512328ac6
commit bab08f24fe
+26 -25
View File
@@ -31,12 +31,12 @@ if [ -t 1 ] && command -v tput &>/dev/null && [ "$(tput colors 2>/dev/null || ec
C_RED="\033[1;31m" C_GREEN="\033[1;32m" C_YELLOW="\033[1;33m"
C_BLUE="\033[1;34m" C_MAGENTA="\033[1;35m" C_CYAN="\033[1;36m"
C_WHITE="\033[1;37m" C_GOLD="\033[38;5;220m"
C_BG_RED="\033[41m" C_BG_GREEN="\033[42m" C_BG_YELLOW="\033[43m"
C_BG_RED="\033[41m" C_BG_GREEN="\033[42m"
C_BG_BLUE="\033[44m" C_BG_MAGENTA="\033[45m" C_BG_CYAN="\033[46m"
else
C_RESET="" C_BOLD="" C_DIM=""
C_RED="" C_GREEN="" C_YELLOW="" C_BLUE="" C_MAGENTA="" C_CYAN="" C_WHITE="" C_GOLD=""
C_BG_RED="" C_BG_GREEN="" C_BG_YELLOW="" C_BG_BLUE="" C_BG_MAGENTA="" C_BG_CYAN=""
C_BG_RED="" C_BG_GREEN="" C_BG_BLUE="" C_BG_MAGENTA="" C_BG_CYAN=""
fi
# =============================================================================
@@ -59,7 +59,6 @@ fi
# =============================================================================
# STATE
# =============================================================================
DRY_RUN=false
SELECTIVE_UPDATE=""
HAD_UPDATES=false
NITRO_BUILT=false
@@ -99,20 +98,6 @@ NITRO_BRANCH="${NITRO_BRANCH:-main}"
MIN_DISK_GB="${NITRO_MIN_DISK_GB:-5}"
HEALTH_RETRIES="${NITRO_HEALTH_RETRIES:-12}"
HEALTH_INTERVAL="${NITRO_HEALTH_INTERVAL:-5}"
if [ -z "${NITRO_SITE_URL:-}" ] && [ -n "${APP_URL:-}" ]; then NITRO_SITE_URL="$APP_URL"; fi
case "${NITRO_SITE_URL:-}" in
https://*) NITRO_WS_PROTO="wss://" ; NITRO_DOMAIN="${NITRO_SITE_URL#https://}" ;;
http://*) NITRO_WS_PROTO="ws://" ; NITRO_DOMAIN="${NITRO_SITE_URL#http://}" ;;
*) NITRO_WS_PROTO="wss://" ; NITRO_DOMAIN="${NITRO_SITE_URL:-}" ;;
esac
NITRO_IMAGE_LIBRARY_URL="${NITRO_IMAGE_LIBRARY_URL:-${NITRO_SITE_URL:-}/gamedata/c_images/}"
NITRO_HOF_FURNITURE_URL="${NITRO_HOF_FURNITURE_URL:-${NITRO_SITE_URL:-}/gamedata/icons}"
NITRO_API_URL="${NITRO_API_URL:-${NITRO_SITE_URL:-}}"
NITRO_SOCKET_URL="${NITRO_SOCKET_URL:-${NITRO_WS_PROTO}ws.${NITRO_DOMAIN}}"
NITRO_GAMEDATA_URL="${NITRO_GAMEDATA_URL:-${NITRO_SITE_URL:-}/gamedata}"
NITRO_ASSET_URL="${NITRO_ASSET_URL:-${NITRO_SITE_URL:-}/gamedata/bundled}"
NITRO_FURNI_ASSET_ICON_URL="${NITRO_FURNI_ASSET_ICON_URL:-${NITRO_SITE_URL:-}/gamedata/icons/%libname%%param%_icon.png}"
MYSQL_CRED="-h $DB_HOST -P $DB_PORT -u $DB_USER --ssl-verify-server-cert=OFF"
[ -n "$DB_PASS" ] && export MYSQL_PWD="$DB_PASS"
@@ -124,7 +109,6 @@ info() { echo -e " ${C_BLUE}${E_ARROW}${C_RESET} $1"; log_write "INFO" "$1";
ok() { echo -e " ${C_GREEN}${E_OK}${C_RESET} $1"; log_write "OK" "$1"; }
warn() { echo -e " ${C_YELLOW}${E_WARN}${C_RESET} $1"; WARNINGS=$((WARNINGS + 1)); log_write "WARN" "$1"; }
fail() { echo -e " ${C_RED}${E_FAIL}${C_RESET} $1"; log_write "FAIL" "$1"; }
debug() { echo -e " ${C_DIM}${E_DOT} $1${C_RESET}"; log_write "DEBUG" "$1"; }
die() {
echo ""
@@ -239,6 +223,12 @@ detect_branches() {
echo "$result"
}
load_branches() {
local arr="$1"
eval "$arr=()"
while IFS= read -r b; do [ -n "$b" ] && eval "$arr+=(\"\$b\")"; done < <(detect_branches)
}
detect_best_branch() {
local repo="$1" preferred="$2"
cd "$repo" 2>/dev/null || { echo "main"; return; }
@@ -749,7 +739,7 @@ cmd_compare() {
step 1 1 "Branch Comparison"
echo ""
local branches=()
while IFS= read -r b; do [ -n "$b" ] && branches+=("$b"); done < <(detect_branches)
load_branches branches
[ ${#branches[@]} -lt 2 ] && { warn "Need 2+ branches (found ${#branches[@]})"; return; }
echo -e " ${C_BOLD}Branches:${C_RESET}"
local i=1
@@ -804,7 +794,7 @@ pick_branch_and_update() {
renderer) mode_label="Renderer Only" ;; configs) mode_label="Configs Only" ;;
esac
local branches=()
while IFS= read -r b; do [ -n "$b" ] && branches+=("$b"); done < <(detect_branches)
load_branches branches
echo ""
echo -e " ${C_BOLD}${C_CYAN}Update: ${C_GREEN}$mode_label${C_RESET}"
echo ""
@@ -833,7 +823,7 @@ cmd_interactive() {
while true; do
clear
local branches=()
while IFS= read -r b; do [ -n "$b" ] && branches+=("$b"); done < <(detect_branches)
load_branches branches
echo -e "${C_CYAN}"
echo ""
@@ -957,8 +947,6 @@ show_help() {
echo -e " ${C_CYAN}--branch, -b${C_RESET} Branch (auto-detects)"
echo -e " ${C_CYAN}--url, -u${C_RESET} Site URL"
echo -e " ${C_CYAN}--only=${C_RESET} emulator|client|renderer|configs"
echo -e " ${C_CYAN}--dry-run, -n${C_RESET} Preview only"
echo -e " ${C_CYAN}--verbose, -v${C_RESET} Debug output"
echo -e " ${C_CYAN}--help, -h${C_RESET} Help"
echo -e " ${C_CYAN}--version, -V${C_RESET} Version"
echo ""
@@ -988,8 +976,6 @@ main() {
clean|cl) cmd="clean" ;;
help|-h|--help) cmd="help" ;;
version|-V|--version) echo "v${SCRIPT_VERSION}"; exit 0 ;;
--dry-run|-n) DRY_RUN=true ;;
--verbose|-v) ;; # accepted but not used yet
--branch|-b) shift; NITRO_BRANCH="$1" ;;
--url|-u) shift; NITRO_SITE_URL="$1" ;;
--only=*) SELECTIVE_UPDATE="${1#*=}" ;;
@@ -1000,6 +986,21 @@ main() {
done
[ -z "$cmd" ] && cmd="interactive"
# Derive URLs after CLI parsing (--url may have changed NITRO_SITE_URL)
if [ -z "${NITRO_SITE_URL:-}" ] && [ -n "${APP_URL:-}" ]; then NITRO_SITE_URL="$APP_URL"; fi
case "${NITRO_SITE_URL:-}" in
https://*) NITRO_WS_PROTO="wss://" ; NITRO_DOMAIN="${NITRO_SITE_URL#https://}" ;;
http://*) NITRO_WS_PROTO="ws://" ; NITRO_DOMAIN="${NITRO_SITE_URL#http://}" ;;
*) NITRO_WS_PROTO="wss://" ; NITRO_DOMAIN="${NITRO_SITE_URL:-}" ;;
esac
NITRO_IMAGE_LIBRARY_URL="${NITRO_IMAGE_LIBRARY_URL:-${NITRO_SITE_URL:-}/gamedata/c_images/}"
NITRO_HOF_FURNITURE_URL="${NITRO_HOF_FURNITURE_URL:-${NITRO_SITE_URL:-}/gamedata/icons}"
NITRO_API_URL="${NITRO_API_URL:-${NITRO_SITE_URL:-}}"
NITRO_SOCKET_URL="${NITRO_SOCKET_URL:-${NITRO_WS_PROTO}ws.${NITRO_DOMAIN}}"
NITRO_GAMEDATA_URL="${NITRO_GAMEDATA_URL:-${NITRO_SITE_URL:-}/gamedata}"
NITRO_ASSET_URL="${NITRO_ASSET_URL:-${NITRO_SITE_URL:-}/gamedata/bundled}"
NITRO_FURNI_ASSET_ICON_URL="${NITRO_FURNI_ASSET_ICON_URL:-${NITRO_SITE_URL:-}/gamedata/icons/%libname%%param%_icon.png}"
# Log redirect
exec > >(tee -a "$LOG_FILE") 2>&1