summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-04-11 15:28:20 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-04-11 17:40:38 +0200
commit3342268ed2cd3d6a31d67ab2d727648af1de22e5 (patch)
tree0f15d136eb942150fdb9e45d3694562de9118934
parent5cab526989221c0228d9ca08deb241b640dbfa95 (diff)
downloadjustbuild-3342268ed2cd3d6a31d67ab2d727648af1de22e5.tar.gz
configured target: support short representation
... with only the non-null entries of the configuration. This information is enough for the user to build this target, e.g., when searching for the cause of a build failure.
-rw-r--r--src/buildtool/build_engine/target_map/TARGETS1
-rw-r--r--src/buildtool/build_engine/target_map/configured_target.hpp6
2 files changed, 7 insertions, 0 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS
index 97576c2c..6964f19e 100644
--- a/src/buildtool/build_engine/target_map/TARGETS
+++ b/src/buildtool/build_engine/target_map/TARGETS
@@ -7,6 +7,7 @@
, ["src/buildtool/build_engine/base_maps", "entity_name_data"]
, ["src/buildtool/build_engine/expression", "expression"]
, ["src/utils/cpp", "hash_combine"]
+ , ["src/utils/cpp", "json"]
]
, "stage": ["src", "buildtool", "build_engine", "target_map"]
}
diff --git a/src/buildtool/build_engine/target_map/configured_target.hpp b/src/buildtool/build_engine/target_map/configured_target.hpp
index b97b1912..e5713460 100644
--- a/src/buildtool/build_engine/target_map/configured_target.hpp
+++ b/src/buildtool/build_engine/target_map/configured_target.hpp
@@ -22,6 +22,7 @@
#include "src/buildtool/build_engine/base_maps/entity_name_data.hpp"
#include "src/buildtool/build_engine/expression/configuration.hpp"
#include "src/utils/cpp/hash_combine.hpp"
+#include "src/utils/cpp/json.hpp"
namespace BuildMaps::Target {
@@ -38,6 +39,11 @@ struct ConfiguredTarget {
[[nodiscard]] auto ToString() const noexcept -> std::string {
return fmt::format("[{},{}]", target.ToString(), config.ToString());
}
+
+ [[nodiscard]] auto ToShortString() const noexcept -> std::string {
+ return fmt::format(
+ "[{},{}]", target.ToString(), PruneJson(config.ToJson()).dump());
+ }
};
using ConfiguredTargetPtr = std::shared_ptr<ConfiguredTarget>;