summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2024-05-14 12:08:57 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2024-05-14 14:36:57 +0200
commitfd1db5e9446c9f4cb6f9bd2e7162b6a3cffae24d (patch)
tree75a238bb6a0636a01a4a765bd4bff0c70e3a5345
parent2a1f95efa803eca0bb809cf51c05dbeab90a2bb9 (diff)
downloadjustbuild-fd1db5e9446c9f4cb6f9bd2e7162b6a3cffae24d.tar.gz
configured_target: limit size of short representation
... to 320 chars for the configuration to keep error messages managable in case of heavy configurations (e.g., generated internally by a complex configure target).
-rw-r--r--src/buildtool/build_engine/target_map/configured_target.hpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buildtool/build_engine/target_map/configured_target.hpp b/src/buildtool/build_engine/target_map/configured_target.hpp
index e5713460..962508ec 100644
--- a/src/buildtool/build_engine/target_map/configured_target.hpp
+++ b/src/buildtool/build_engine/target_map/configured_target.hpp
@@ -30,6 +30,8 @@ struct ConfiguredTarget {
BuildMaps::Base::EntityName target;
Configuration config;
+ static constexpr std::size_t kConfigLength = 320;
+
[[nodiscard]] auto operator==(
BuildMaps::Target::ConfiguredTarget const& other) const noexcept
-> bool {
@@ -42,7 +44,9 @@ struct ConfiguredTarget {
[[nodiscard]] auto ToShortString() const noexcept -> std::string {
return fmt::format(
- "[{},{}]", target.ToString(), PruneJson(config.ToJson()).dump());
+ "[{},{}]",
+ target.ToString(),
+ AbbreviateJson(PruneJson(config.ToJson()), kConfigLength));
}
};