diff --git a/bin/nux-runner b/bin/nux-runner index 522c99b..f78e139 100755 --- a/bin/nux-runner +++ b/bin/nux-runner @@ -10,32 +10,8 @@ readonly NUX_RUNNER=$0; readonly NUX_RUNNER_BIN_DIR=$(dirname $(realpath ${BASH_SOURCE[0]})) source $NUX_RUNNER_BIN_DIR/../inc/nux-base.inc.sh +nux.include nux-runner - -function is_function () { - declare -f "$1" &>/dev/null && return 0 - return 1 -} - -runner.run() { - TASK=$1; shift; # Determines task - if is_function task.$TASK ; then - nux.log debug "Running task: $TASK"; - task.$TASK "$@" # Runs task - else - nux.log debug "Including script: $NUX_SCRIPT" - source $NUX_SCRIPT; # Includes script - - if is_function task.$TASK ; then - nux.log debug "Running task: $TASK"; - task.$TASK "$@" # Runs task - else - echo "$NUX_SCRIPTNAME: Unrecognized task ''$TASK' not available." - echo "Try '$NUX_SCRIPTNAME help' for more information." - exit -1 - fi - fi -} ## ## Tasks provided by 'nux-runner': @@ -43,14 +19,14 @@ runner.run() { ## debug - Runs specified task with debug messages enabled. task.debug() { N_LOG_debug=1 - runner.run "$@" + nux-runner.run "$@" } ## trace - Runs specified task with debug & trace enabled. task.trace() { N_LOG_debug=1; N_LOG_trace=2; - runner.run "$@" + nux-runner.run "$@" } ## help - Shows this help @@ -73,4 +49,4 @@ readonly NUX_SCRIPT=$1; shift; # Determines script readonly NUX_SCRIPTNAME=$(basename $NUX_SCRIPT) -runner.run "$@" +nux-runner.run "$@" diff --git a/inc/nux-base.inc.sh b/inc/nux-base.inc.sh index 73974ba..4d6470a 100644 --- a/inc/nux-base.inc.sh +++ b/inc/nux-base.inc.sh @@ -54,3 +54,8 @@ function nux.include { local incfile="$1.inc.sh" source "$NUX_INC_DIR/$incfile" } + +function nux.check.function { + declare -f "$1" &>/dev/null && return 0 + return 1 +} diff --git a/inc/nux-runner.inc.sh b/inc/nux-runner.inc.sh new file mode 100644 index 0000000..cd8863d --- /dev/null +++ b/inc/nux-runner.inc.sh @@ -0,0 +1,21 @@ + + +nux-runner.run() { + TASK=$1; shift; # Determines task + if nux.check.function task.$TASK ; then + nux.log debug "Running task: $TASK"; + task.$TASK "$@" # Runs task + else + nux.log debug "Including script: $NUX_SCRIPT" + source $NUX_SCRIPT; # Includes script + + if nux.check.function task.$TASK ; then + nux.log debug "Running task: $TASK"; + task.$TASK "$@" # Runs task + else + echo "$NUX_SCRIPTNAME: Unrecognized task ''$TASK' not available." + echo "Try '$NUX_SCRIPTNAME help' for more information." + exit -1 + fi + fi +} diff --git a/inc/nuxfs.dsl.inc.sh b/inc/nuxfs.dsl.inc.sh index dfb909a..a05c807 100644 --- a/inc/nuxfs.dsl.inc.sh +++ b/inc/nuxfs.dsl.inc.sh @@ -5,12 +5,12 @@ function exec.if.function { DEFAULT_NAME=$2; shift; shift; - if is_function $FUNC_NAME; then + if nux.check.function $FUNC_NAME; then nux.log debug Executing: $FUNC_NAME "$@"; $FUNC_NAME "$@"; return; fi - if is_function $DEFAULT_NAME; then + if nux.check.function $DEFAULT_NAME; then nux.log debug Executing: $FUNC_NAME "$@"; $DEFAULT_NAME "$@"; return;