From ec923ef5c1b119638a3aac84b76b7e33c0c9db36 Mon Sep 17 00:00:00 2001 From: Timerix Date: Fri, 12 Jul 2024 03:19:09 +0300 Subject: [PATCH] task bugfix --- README.md | 2 +- cbuild.sh | 30 +++++++++++++----------------- config.sh | 14 ++++++++++---- 3 files changed, 24 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index ccd7d45..e885d65 100644 --- a/README.md +++ b/README.md @@ -19,5 +19,5 @@ sudo ./setup.sh 2. Edit `default.config`. 3. Call some tasks: ```bash - cbuild build_exec_dbg exec_dbg + cbuild build_exec_dbg exec ``` diff --git a/cbuild.sh b/cbuild.sh index 82e277f..08e3fae 100644 --- a/cbuild.sh +++ b/cbuild.sh @@ -20,12 +20,6 @@ function include { . "$script_path" } -function include_if_not_null { - if [ ! -z "$1" ]; then - include "$1" - fi -} - include "cbuild/myprint.sh" include "cbuild/functions.sh" include "cbuild/config.sh" @@ -103,27 +97,29 @@ function call_task { local task="$3" print_header "${CYAN}" "─" "$task" - load_config "$task" "$current_config_path" "$default_config_path" + load_config "$current_config_path" "$default_config_path" "$task" resolve_dependencies "$DEPS_BASEDIR" "$DEPS" - myprint "${BLUE}executing $PRE_TASK_SCRIPT" - # include_if_not_null "$PRE_TASK_SCRIPT" + if [ ! -z "$PRE_TASK_SCRIPT" ]; then + myprint "${BLUE}executing ${WHITE}$TASK_SCRIPT" + include "$PRE_TASK_SCRIPT" + fi - myprint "${BLUE}executing $TASK_SCRIPT" - # include "$TASK_SCRIPT" + myprint "${BLUE}executing ${WHITE}$TASK_SCRIPT" + include "$TASK_SCRIPT" - myprint "${BLUE}executing $POST_TASK_SCRIPT" - # include_if_not_null "$POST_TASK_SCRIPT" - myprint "error" + if [ ! -z "$POST_TASK_SCRIPT" ]; then + myprint "${BLUE}executing ${WHITE}$POST_TASK_SCRIPT" + include "$POST_TASK_SCRIPT" + fi } function call_tasks { local tasks="$@" - myprint "$tasks" - + load_config "$current_config_path" "$default_config_path" print_header "${WHITE}" "═" "$PROJECT" for task in $tasks ; do - call_task "$task" + call_task "$current_config_path" "$default_config_path" "$task" done print_hline "${WHITE}" "═" } diff --git a/config.sh b/config.sh index 32d1775..258d7e9 100644 --- a/config.sh +++ b/config.sh @@ -5,9 +5,15 @@ include cbuild/functions.sh include cbuild/detect_os.sh function load_config { - TASK="$1" - local current_config_path="$2" - local default_config_path="$3" + local current_config_path="$1" + local default_config_path="$2" + TASK="$3" + if [ -z "$current_config_path" ]; then + error "current_config_path is null" + fi + if [ -z "$default_config_path" ]; then + error "default_config_path is null" + fi OS=$(detect_os) myprint "${GREEN}detected OS: $OS" @@ -40,7 +46,7 @@ function load_config { # reading current config or creating default if [ ! -f "$current_config_path" ]; then myprint "${YELLOW}$current_config_path doesn't exist" - cp "$$default_config_path" "$current_config_path" + cp "$default_config_path" "$current_config_path" myprint "${YELLOW}Created copy (${current_config_path}) of default config (${default_config_path})" fi