summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-04-18 15:35:36 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-04-19 10:08:29 +0200
commitd3cb40119bf0ed78b92b73052b3b21320feb284c (patch)
tree6f0036e6486cff9bc2a85e1973ee25cc2291eb32
parent481c89631440a7593e1fb353d6902e756ac1ce00 (diff)
downloadjustbuild-d3cb40119bf0ed78b92b73052b3b21320feb284c.tar.gz
Also for absent tragets, track progress by configured target
Commit f5f9be5bc07b16807aceac86fba9212e3889762a changed from tracking progress by cache key to tracking by configured target; however, the absent-target map was forgotten. Fix this while also switching to the shortend export-target representation introduced in the previous commit.
-rw-r--r--src/buildtool/build_engine/target_map/TARGETS2
-rw-r--r--src/buildtool/build_engine/target_map/absent_target_map.cpp18
2 files changed, 14 insertions, 6 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS
index 17b5b2df..3693049c 100644
--- a/src/buildtool/build_engine/target_map/TARGETS
+++ b/src/buildtool/build_engine/target_map/TARGETS
@@ -115,6 +115,8 @@
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
, ["src/buildtool/serve_api/remote", "serve_api"]
+ , ["src/utils/cpp", "json"]
+ , ["@", "json", "", "json"]
]
}
}
diff --git a/src/buildtool/build_engine/target_map/absent_target_map.cpp b/src/buildtool/build_engine/target_map/absent_target_map.cpp
index 3110f863..ddc2a6ca 100644
--- a/src/buildtool/build_engine/target_map/absent_target_map.cpp
+++ b/src/buildtool/build_engine/target_map/absent_target_map.cpp
@@ -17,10 +17,12 @@
#include <unordered_set>
#include <utility> // std::move
+#include "nlohmann/json.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/buildtool/serve_api/remote/serve_api.hpp"
#include "src/buildtool/storage/target_cache_key.hpp"
+#include "src/utils/cpp/json.hpp"
#endif
#ifndef BOOTSTRAP_BUILD_TOOL
@@ -74,11 +76,15 @@ void WithFlexibleVariables(
Storage::Instance().TargetCache().Read(*target_cache_key);
bool from_just_serve = false;
if (!target_cache_value) {
- Logger::Log(LogLevel::Debug,
- "Querying serve endpoint for absent export target {}",
- key.target.ToString());
- exports_progress->TaskTracker().Start(
- target_cache_key->Id().ToString());
+ auto task = fmt::format("[{},{}]",
+ key.target.ToString(),
+ PruneJson(effective_config.ToJson()).dump());
+ Logger::Log(
+ LogLevel::Debug,
+ "Querying serve endpoint for absent export target {} with key {}",
+ task,
+ key.target.ToString());
+ exports_progress->TaskTracker().Start(task);
auto res = ServeApi::ServeTarget(*target_cache_key, *repo_key);
// process response from serve endpoint
if (not res) {
@@ -111,7 +117,7 @@ void WithFlexibleVariables(
}
// index == 2
target_cache_value = std::get<2>(*res);
- exports_progress->TaskTracker().Stop(target_cache_key->Id().ToString());
+ exports_progress->TaskTracker().Stop(task);
from_just_serve = true;
}