From 5cc2e1c2add7b80da829e77275e91133b0eb5c04 Mon Sep 17 00:00:00 2001 From: Timerix Date: Wed, 12 Nov 2025 14:31:22 +0500 Subject: [PATCH] load user config before project config --- CHANGELOG.md | 3 +++ include/config.sh | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 92ac9fa..ab2627e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 2.3.1 ++ user config loads before project config + ## 2.3.0 + **CONFIG:** Added new file `./project.config.user.default`. + **CONFIG:** Changed `cbuild/default_tasks` to `@cbuild/default_tasks`. diff --git a/include/config.sh b/include/config.sh index 5e78cc7..348302c 100755 --- a/include/config.sh +++ b/include/config.sh @@ -10,8 +10,6 @@ function load_config { #true or false local quiet=$3 - myprint "${BLUE}loading ${WHITE}'$proj_conf_file'" - if [ -z "$proj_conf_file" ]; then error "config path is null" fi @@ -19,6 +17,18 @@ function load_config { error "${YELLOW}$proj_conf_file doesn't exist" fi + # load project user config + local proj_conf_user_file="$proj_conf_file.user" + file_copy_default_if_not_present "$proj_conf_user_file" "$proj_conf_user_file.default" + myprint "${BLUE}loading ${WHITE}'$proj_conf_user_file'" + # throw error on undefined variable usage + set -u + include "$proj_conf_user_file" + # don't throw error on undefined variable usage + set +u + + myprint "${BLUE}loading ${WHITE}'$proj_conf_file'" + OS=$(detect_os) ARCH=$(detect_arch) myprint_quiet $quiet "${GREEN}detected OS: $OS" @@ -48,15 +58,8 @@ function load_config { myprint "${YELLOW}Install it to get latest bugfixes." fi - # throw error on undefined variable usage set -u include "$proj_conf_file" - - # load project user config - local proj_conf_user_file="$proj_conf_file.user" - file_copy_default_if_not_present "$proj_conf_user_file" "$proj_conf_user_file.default" - myprint "${BLUE}loading ${WHITE}'$proj_conf_user_file'" - include "$proj_conf_user_file" mkdir -p "$OUTDIR" mkdir -p "$OBJDIR/objects" @@ -64,7 +67,6 @@ function load_config { mkdir -p "$OBJDIR/dynamic_libs" mkdir -p "$OBJDIR/profile" - # dont thorw error on undefined variable set +u myprint_quiet $quiet "${GREEN}config loading completed"