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() {
|
collect_modules() {
|
||||||
if ((${#RUN_MODULES[@]})); then
|
if ((${#RUN_MODULES[@]})); then
|
||||||
for mod in "${RUN_MODULES[@]}"; do
|
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
|
done
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@@ -176,8 +177,10 @@ collect_all_interactive() {
|
|||||||
local module_file="$OMERON_MODULE_DIR/$mod.sh"
|
local module_file="$OMERON_MODULE_DIR/$mod.sh"
|
||||||
[[ -f "$module_file" ]] || continue
|
[[ -f "$module_file" ]] || continue
|
||||||
|
|
||||||
|
source "$module_file" 2>/dev/null || continue
|
||||||
|
|
||||||
local description=""
|
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)"
|
description="$(module_description)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -185,7 +188,6 @@ collect_all_interactive() {
|
|||||||
log_step "$idx" "$total" "${description:-$mod}"
|
log_step "$idx" "$total" "${description:-$mod}"
|
||||||
|
|
||||||
if declare -F "module_required" >/dev/null 2>&1; then
|
if declare -F "module_required" >/dev/null 2>&1; then
|
||||||
source "$module_file"
|
|
||||||
if module_required; then
|
if module_required; then
|
||||||
tui_info "Required module — will run"
|
tui_info "Required module — will run"
|
||||||
module_order+=("$module_file")
|
module_order+=("$module_file")
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
OMERON_MODULE_DIR="${OMERON_MODULE_DIR:-$OMERON_PROJECT_DIR/modules}"
|
OMERON_MODULE_DIR="${OMERON_MODULE_DIR:-$OMERON_PROJECT_DIR/modules}"
|
||||||
|
export OMERON_MODULE_DIR
|
||||||
|
|
||||||
module_list() {
|
module_list() {
|
||||||
local category="${1:-}"
|
local category="${1:-}"
|
||||||
|
|||||||
Reference in New Issue
Block a user