From 9aa2386987cc64070fbd7a557b288233e7b4d69b Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Fri, 11 Nov 2016 17:18:54 +0100 Subject: [PATCH] Splitted part of nux-ranner into include script. Signed-off-by: Tony Tkacik --- bin/nux-runner | 52 ++++++++++++++++++++++++++++++------------------- inc/nux-base.sh | 23 ++++++++++++++++++++++ 2 files changed, 55 insertions(+), 20 deletions(-) create mode 100644 inc/nux-base.sh diff --git a/bin/nux-runner b/bin/nux-runner index 50e07b6..74f29b9 100755 --- a/bin/nux-runner +++ b/bin/nux-runner @@ -5,6 +5,18 @@ ### and provides out of the box support for task-style scripts ### (similar in usage such as apt, git). ### + + +# .---------- constant part! +# vvvv vvvv-- the code from above + + +readonly NUX_RUNNER=$0; +readonly NUX_RUNNER_BIN_DIR=$(dirname $(realpath ${BASH_SOURCE[0]})) +source $NUX_RUNNER_BIN_DIR/../inc/nux-base.sh + + + function is_function () { declare -f "$1" &>/dev/null && return 0 return 1 @@ -14,21 +26,21 @@ log.debug() { : } -run_task() { +runner.run() { TASK=$1; shift; # Determines task - if is_function task_$TASK ; then + if is_function task.$TASK ; then log.debug "Running task: $TASK"; - task_$TASK "$*" # Runs task + task.$TASK "$@" # Runs task else log.debug "Including script: $NUX_SCRIPT" source $NUX_SCRIPT; # Includes script - if is_function task_$TASK ; then + if is_function task.$TASK ; then log.debug "Running task: $TASK"; - task_$TASK "$*" # Runs task + task.$TASK "$@" # Runs task else - echo "$SCRIPTNAME: Unrecognized task ''$TASK' not available." - echo "Try '$SCRIPTNAME help' for more information." + echo "$NUX_SCRIPTNAME: Unrecognized task ''$TASK' not available." + echo "Try '$NUX_SCRIPTNAME help' for more information." exit -1 fi fi @@ -39,31 +51,31 @@ run_task() { ## debug - Runs specified task with debug messages enabled. -task_debug() { +task.debug() { log.debug() { - echo "[DEBUG] $*" >&2 + echo -e "${NC_Debug}[DEBUG] $@ ${NC_No}" >&2 } - run_task "$*" + runner.run "$@" } ## help - Shows this help -task_help() { - echo Usage: $SCRIPTNAME [task] [options] - grep "^\#\#\#" $NUX_SCRIPT | cut -d\# -f4- +task.help() { + echo Usage: $NUX_SCRIPTNAME [task] [options] + grep "^\#\#\# " $NUX_SCRIPT | cut -d\# -f4- echo " Available Tasks: " grep "^\#\# " $NUX_SCRIPT | cut -d\# -f3- - grep "^\#\#" $NUX_RUNNER | cut -d\# -f3- + grep "^\#\# " $NUX_RUNNER | cut -d\# -f3- echo } ## -task_() { - task_help +task.() { + task.help } -NUX_RUNNER=$0; -NUX_SCRIPT=$1; shift; # Determines script -SCRIPTNAME=$(basename $NUX_SCRIPT) +readonly NUX_SCRIPT=$1; +shift; # Determines script +readonly NUX_SCRIPTNAME=$(basename $NUX_SCRIPT) -run_task "$*" +runner.run "$@" diff --git a/inc/nux-base.sh b/inc/nux-base.sh new file mode 100644 index 0000000..18af751 --- /dev/null +++ b/inc/nux-base.sh @@ -0,0 +1,23 @@ + +readonly NC_No='\033[0m' # No Color +readonly NC_Black='\033[0;30m' +readonly NC_Green='\033[0;32m' +readonly NC_Red='\033[0;31m' +readonly NC_BrownOrange='\033[0;33m' +readonly NC_Blue='\033[0;34m' +readonly NC_Purple='\033[0;35m' +readonly NC_Cyan='\033[0;36m' +readonly NC_LightGray='\033[0;37m' + +readonly NC_DarkGray='\033[1;30m' +readonly NC_LightRed='\033[1;31m' +readonly NC_LightGreen='\033[1;32m' +readonly NC_Yellow='\033[1;33m' +readonly NC_LightBlue='\033[1;34m' +readonly NC_LightPurple='\033[1;35m' +readonly NC_LightCyan='\033[1;36m' +readonly NC_White='\033[1;37m' + +NC_Debug=$NC_LightGray +NC_Error=$NC_LightRed +NC_Warning=$NC_Yellow