From 94ac669ec18eee5932e7b2efec9fdb877dc281a6 Mon Sep 17 00:00:00 2001 From: Marc Durdin Date: Mon, 1 Dec 2025 16:44:49 +0100 Subject: [PATCH] maint(resources): verify order of builder_describe_internal_dependency Test-bot: skip --- common/windows/delphi/tools/devtools/build.sh | 6 +++--- common/windows/delphi/tools/test-klog/build.sh | 7 ++++--- docs/builder.md | 2 +- resources/builder.inc.sh | 12 +++++++++--- 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/common/windows/delphi/tools/devtools/build.sh b/common/windows/delphi/tools/devtools/build.sh index f7b9dd52d4..4875458014 100755 --- a/common/windows/delphi/tools/devtools/build.sh +++ b/common/windows/delphi/tools/devtools/build.sh @@ -16,13 +16,13 @@ builder_parse "$@" source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" +builder_describe_internal_dependency \ + prepublish:project build:project + builder_describe_outputs \ configure:project /resources/build/win/delphi_environment_generated.inc.sh \ build:project /common/windows/delphi/tools/devtools/$WIN32_TARGET_PATH/devtools.exe -builder_describe_internal_dependency \ - prepublish:project build:project - #------------------------------------------------------------------------------------------------------------------- builder_run_action clean:project clean_windows_project_files diff --git a/common/windows/delphi/tools/test-klog/build.sh b/common/windows/delphi/tools/test-klog/build.sh index acdd90cd53..4bd78b08a5 100755 --- a/common/windows/delphi/tools/test-klog/build.sh +++ b/common/windows/delphi/tools/test-klog/build.sh @@ -7,19 +7,20 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")" builder_describe "Tool for validating klog is disabled for release builds" \ clean configure build test prepublish edit + builder_parse "$@" #------------------------------------------------------------------------------------------------------------------- source "$KEYMAN_ROOT/resources/build/win/environment.inc.sh" +builder_describe_internal_dependency \ + prepublish:project build:project + builder_describe_outputs \ configure:project /resources/build/win/delphi_environment_generated.inc.sh \ build:project /common/windows/delphi/tools/test-klog/$WIN32_TARGET_PATH/test_klog.exe -builder_describe_internal_dependency \ - prepublish:project build:project - #------------------------------------------------------------------------------------------------------------------- function do_build() { diff --git a/docs/builder.md b/docs/builder.md index 534d8731ea..8d57bab09b 100644 --- a/docs/builder.md +++ b/docs/builder.md @@ -559,7 +559,7 @@ builder_describe_internal_dependency \ ``` **Note:** actions and targets must be fully specified, and this _must_ be called -before either [`builder_describe_outputs`] or [`builder_parse`] in order for +before both of [`builder_describe_outputs`] and [`builder_parse`] in order for dependencies to be resolved. -------------------------------------------------------------------------------- diff --git a/resources/builder.inc.sh b/resources/builder.inc.sh index 0ce80a5c2d..689687a903 100755 --- a/resources/builder.inc.sh +++ b/resources/builder.inc.sh @@ -1408,10 +1408,16 @@ _builder_define_default_internal_dep() { # build:mac build:mac-x86_64 \ # build:mac build:mac-arm64 # -# Note: actions and targets must be fully specified, and this _must_ -# be called before either builder_describe_outputs or builder_parse in -# order for dependencies to be resolved. +# Note: actions and targets must be fully specified, and this _must_ be called +# before both of builder_describe_outputs and builder_parse in order for +# dependencies to be resolved. builder_describe_internal_dependency() { + _builder_record_function_call builder_describe_internal_dependency + + if _builder_has_function_been_called builder_parse && _builder_has_function_been_called builder_describe_outputs; then + builder_warn "WARNING: builder_describe_internal_dependency needs to be called before builder_parse and builder_describe_outputs have both been called" + fi + while [[ $# -gt 0 ]]; do local action_target=$1 dep_action_target=$2 [[ -z ${_builder_internal_dep[$action_target]+x} ]] &&