You've already forked Atomcms-edit
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:
+26
-25
@@ -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_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_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_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"
|
C_BG_BLUE="\033[44m" C_BG_MAGENTA="\033[45m" C_BG_CYAN="\033[46m"
|
||||||
else
|
else
|
||||||
C_RESET="" C_BOLD="" C_DIM=""
|
C_RESET="" C_BOLD="" C_DIM=""
|
||||||
C_RED="" C_GREEN="" C_YELLOW="" C_BLUE="" C_MAGENTA="" C_CYAN="" C_WHITE="" C_GOLD=""
|
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
|
fi
|
||||||
|
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
@@ -59,7 +59,6 @@ fi
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
# STATE
|
# STATE
|
||||||
# =============================================================================
|
# =============================================================================
|
||||||
DRY_RUN=false
|
|
||||||
SELECTIVE_UPDATE=""
|
SELECTIVE_UPDATE=""
|
||||||
HAD_UPDATES=false
|
HAD_UPDATES=false
|
||||||
NITRO_BUILT=false
|
NITRO_BUILT=false
|
||||||
@@ -99,20 +98,6 @@ NITRO_BRANCH="${NITRO_BRANCH:-main}"
|
|||||||
MIN_DISK_GB="${NITRO_MIN_DISK_GB:-5}"
|
MIN_DISK_GB="${NITRO_MIN_DISK_GB:-5}"
|
||||||
HEALTH_RETRIES="${NITRO_HEALTH_RETRIES:-12}"
|
HEALTH_RETRIES="${NITRO_HEALTH_RETRIES:-12}"
|
||||||
HEALTH_INTERVAL="${NITRO_HEALTH_INTERVAL:-5}"
|
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"
|
MYSQL_CRED="-h $DB_HOST -P $DB_PORT -u $DB_USER --ssl-verify-server-cert=OFF"
|
||||||
[ -n "$DB_PASS" ] && export MYSQL_PWD="$DB_PASS"
|
[ -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"; }
|
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"; }
|
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"; }
|
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() {
|
die() {
|
||||||
echo ""
|
echo ""
|
||||||
@@ -239,6 +223,12 @@ detect_branches() {
|
|||||||
echo "$result"
|
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() {
|
detect_best_branch() {
|
||||||
local repo="$1" preferred="$2"
|
local repo="$1" preferred="$2"
|
||||||
cd "$repo" 2>/dev/null || { echo "main"; return; }
|
cd "$repo" 2>/dev/null || { echo "main"; return; }
|
||||||
@@ -749,7 +739,7 @@ cmd_compare() {
|
|||||||
step 1 1 "Branch Comparison"
|
step 1 1 "Branch Comparison"
|
||||||
echo ""
|
echo ""
|
||||||
local branches=()
|
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; }
|
[ ${#branches[@]} -lt 2 ] && { warn "Need 2+ branches (found ${#branches[@]})"; return; }
|
||||||
echo -e " ${C_BOLD}Branches:${C_RESET}"
|
echo -e " ${C_BOLD}Branches:${C_RESET}"
|
||||||
local i=1
|
local i=1
|
||||||
@@ -804,7 +794,7 @@ pick_branch_and_update() {
|
|||||||
renderer) mode_label="Renderer Only" ;; configs) mode_label="Configs Only" ;;
|
renderer) mode_label="Renderer Only" ;; configs) mode_label="Configs Only" ;;
|
||||||
esac
|
esac
|
||||||
local branches=()
|
local branches=()
|
||||||
while IFS= read -r b; do [ -n "$b" ] && branches+=("$b"); done < <(detect_branches)
|
load_branches branches
|
||||||
echo ""
|
echo ""
|
||||||
echo -e " ${C_BOLD}${C_CYAN}Update: ${C_GREEN}$mode_label${C_RESET}"
|
echo -e " ${C_BOLD}${C_CYAN}Update: ${C_GREEN}$mode_label${C_RESET}"
|
||||||
echo ""
|
echo ""
|
||||||
@@ -833,7 +823,7 @@ cmd_interactive() {
|
|||||||
while true; do
|
while true; do
|
||||||
clear
|
clear
|
||||||
local branches=()
|
local branches=()
|
||||||
while IFS= read -r b; do [ -n "$b" ] && branches+=("$b"); done < <(detect_branches)
|
load_branches branches
|
||||||
|
|
||||||
echo -e "${C_CYAN}"
|
echo -e "${C_CYAN}"
|
||||||
echo ""
|
echo ""
|
||||||
@@ -957,8 +947,6 @@ show_help() {
|
|||||||
echo -e " ${C_CYAN}--branch, -b${C_RESET} Branch (auto-detects)"
|
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}--url, -u${C_RESET} Site URL"
|
||||||
echo -e " ${C_CYAN}--only=${C_RESET} emulator|client|renderer|configs"
|
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}--help, -h${C_RESET} Help"
|
||||||
echo -e " ${C_CYAN}--version, -V${C_RESET} Version"
|
echo -e " ${C_CYAN}--version, -V${C_RESET} Version"
|
||||||
echo ""
|
echo ""
|
||||||
@@ -988,8 +976,6 @@ main() {
|
|||||||
clean|cl) cmd="clean" ;;
|
clean|cl) cmd="clean" ;;
|
||||||
help|-h|--help) cmd="help" ;;
|
help|-h|--help) cmd="help" ;;
|
||||||
version|-V|--version) echo "v${SCRIPT_VERSION}"; exit 0 ;;
|
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" ;;
|
--branch|-b) shift; NITRO_BRANCH="$1" ;;
|
||||||
--url|-u) shift; NITRO_SITE_URL="$1" ;;
|
--url|-u) shift; NITRO_SITE_URL="$1" ;;
|
||||||
--only=*) SELECTIVE_UPDATE="${1#*=}" ;;
|
--only=*) SELECTIVE_UPDATE="${1#*=}" ;;
|
||||||
@@ -1000,6 +986,21 @@ main() {
|
|||||||
done
|
done
|
||||||
[ -z "$cmd" ] && cmd="interactive"
|
[ -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
|
# Log redirect
|
||||||
exec > >(tee -a "$LOG_FILE") 2>&1
|
exec > >(tee -a "$LOG_FILE") 2>&1
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user