diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-04-11 15:28:20 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2024-04-11 17:40:38 +0200 |
commit | 3342268ed2cd3d6a31d67ab2d727648af1de22e5 (patch) | |
tree | 0f15d136eb942150fdb9e45d3694562de9118934 | |
parent | 5cab526989221c0228d9ca08deb241b640dbfa95 (diff) | |
download | justbuild-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/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/configured_target.hpp | 6 |
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>; |