fix: module_required-Erkennung + subshell-safe OMERON_MODULE_DIR + collect_modules existence-check
- collect_all_interactive: module VOR declare -F sourcen (erstes Modul wurde nie als required erkannt, sondern immer mit tui_confirm nachgefragt) - OMERON_MODULE_DIR exportieren (Subshell von <(...) könnte sonst leeren Wert haben → Module nicht gefunden) - collect_modules (--modules): auch hier file-existence prüfen
This commit is contained in:
@@ -133,7 +133,8 @@ detect_environment() {
|
||||
collect_modules() {
|
||||
if ((${#RUN_MODULES[@]})); then
|
||||
for mod in "${RUN_MODULES[@]}"; do
|
||||
printf '%s\n' "$OMERON_MODULE_DIR/$mod.sh"
|
||||
local module_file="$OMERON_MODULE_DIR/$mod.sh"
|
||||
[[ -f "$module_file" ]] && printf '%s\n' "$module_file"
|
||||
done
|
||||
return
|
||||
fi
|
||||
@@ -176,8 +177,10 @@ collect_all_interactive() {
|
||||
local module_file="$OMERON_MODULE_DIR/$mod.sh"
|
||||
[[ -f "$module_file" ]] || continue
|
||||
|
||||
source "$module_file" 2>/dev/null || continue
|
||||
|
||||
local description=""
|
||||
if source "$module_file" 2>/dev/null && declare -F "module_description" >/dev/null 2>&1; then
|
||||
if declare -F "module_description" >/dev/null 2>&1; then
|
||||
description="$(module_description)"
|
||||
fi
|
||||
|
||||
@@ -185,7 +188,6 @@ collect_all_interactive() {
|
||||
log_step "$idx" "$total" "${description:-$mod}"
|
||||
|
||||
if declare -F "module_required" >/dev/null 2>&1; then
|
||||
source "$module_file"
|
||||
if module_required; then
|
||||
tui_info "Required module — will run"
|
||||
module_order+=("$module_file")
|
||||
|
||||
Reference in New Issue
Block a user