summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/build_engine/target_map/built_in_rules.cpp10
-rw-r--r--src/buildtool/build_engine/target_map/configured_target.hpp7
-rw-r--r--src/buildtool/build_engine/target_map/target_map.cpp15
-rw-r--r--src/buildtool/execution_engine/executor/TARGETS1
-rw-r--r--src/buildtool/execution_engine/executor/executor.hpp4
-rw-r--r--src/buildtool/main/main.cpp6
6 files changed, 26 insertions, 17 deletions
diff --git a/src/buildtool/build_engine/target_map/built_in_rules.cpp b/src/buildtool/build_engine/target_map/built_in_rules.cpp
index b4d3a7cd..9623f816 100644
--- a/src/buildtool/build_engine/target_map/built_in_rules.cpp
+++ b/src/buildtool/build_engine/target_map/built_in_rules.cpp
@@ -28,6 +28,7 @@
#include "fmt/core.h"
#include "src/buildtool/build_engine/base_maps/field_reader.hpp"
+#include "src/buildtool/build_engine/expression/evaluator.hpp"
#include "src/buildtool/build_engine/expression/expression.hpp"
#include "src/buildtool/build_engine/expression/expression_ptr.hpp"
#include "src/buildtool/build_engine/target_map/export.hpp"
@@ -1679,10 +1680,11 @@ auto HandleBuiltin(const gsl::not_null<AnalyseContext*>& context,
}
auto target_logger = std::make_shared<BuildMaps::Target::TargetMap::Logger>(
[logger, rule_name, key](auto msg, auto fatal) {
- (*logger)(fmt::format("While evaluating {} target {}:\n{}",
- rule_name,
- key.ToShortString(),
- msg),
+ (*logger)(fmt::format(
+ "While evaluating {} target {}:\n{}",
+ rule_name,
+ key.ToShortString(Evaluator::GetExpressionLogLimit()),
+ msg),
fatal);
});
(it->second)(
diff --git a/src/buildtool/build_engine/target_map/configured_target.hpp b/src/buildtool/build_engine/target_map/configured_target.hpp
index 6f83d73d..dc1f981e 100644
--- a/src/buildtool/build_engine/target_map/configured_target.hpp
+++ b/src/buildtool/build_engine/target_map/configured_target.hpp
@@ -30,8 +30,6 @@ 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 {
return target == other.target and config == other.config;
@@ -41,11 +39,12 @@ struct ConfiguredTarget {
return fmt::format("[{},{}]", target.ToString(), config.ToString());
}
- [[nodiscard]] auto ToShortString() const noexcept -> std::string {
+ [[nodiscard]] auto ToShortString(std::size_t config_length) const noexcept
+ -> std::string {
return fmt::format(
"[{},{}]",
target.ToString(),
- AbbreviateJson(PruneJson(config.ToJson()), kConfigLength));
+ AbbreviateJson(PruneJson(config.ToJson()), config_length));
}
};
diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp
index 02aae13b..961cdc73 100644
--- a/src/buildtool/build_engine/target_map/target_map.cpp
+++ b/src/buildtool/build_engine/target_map/target_map.cpp
@@ -233,7 +233,7 @@ auto NameTransitionedDeps(
auto conf = effective_conf.Update(transitioned_target.config.Expr())
.Prune(analysis->Vars());
return BuildMaps::Target::ConfiguredTarget{transitioned_target.target, conf}
- .ToShortString();
+ .ToShortString(Evaluator::GetExpressionLogLimit());
}
// Check if an object is contained an expression; to avoid tree-unfolding
@@ -1511,10 +1511,12 @@ void withTargetsFile(
std::make_shared<AsyncMapConsumerLogger>(
[logger, key, rn](auto const& msg, auto fatal) {
(*logger)(
- fmt::format("While analysing {} target {}:\n{}",
- rn.ToString(),
- key.ToShortString(),
- msg),
+ fmt::format(
+ "While analysing {} target {}:\n{}",
+ rn.ToString(),
+ key.ToShortString(
+ Evaluator::GetExpressionLogLimit()),
+ msg),
fatal);
}),
result_map);
@@ -1970,7 +1972,8 @@ auto CreateTargetMap(
[logger, key](auto msg, auto fatal) {
(*logger)(
fmt::format("While processing absent target {}:\n{}",
- key.ToShortString(),
+ key.ToShortString(
+ Evaluator::GetExpressionLogLimit()),
msg),
fatal);
});
diff --git a/src/buildtool/execution_engine/executor/TARGETS b/src/buildtool/execution_engine/executor/TARGETS
index fc148d45..e2654ba9 100644
--- a/src/buildtool/execution_engine/executor/TARGETS
+++ b/src/buildtool/execution_engine/executor/TARGETS
@@ -5,6 +5,7 @@
, "deps":
[ "context"
, ["@", "gsl", "", "gsl"]
+ , ["src/buildtool/build_engine/expression", "expression"]
, ["src/buildtool/common", "artifact_digest_factory"]
, ["src/buildtool/common", "common"]
, ["src/buildtool/common", "git_hashes_converter"]
diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp
index 63ab96ba..a27f2215 100644
--- a/src/buildtool/execution_engine/executor/executor.hpp
+++ b/src/buildtool/execution_engine/executor/executor.hpp
@@ -28,6 +28,7 @@
#include <vector>
#include "gsl/gsl"
+#include "src/buildtool/build_engine/expression/evaluator.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
#include "src/buildtool/common/git_hashes_converter.hpp"
@@ -688,7 +689,8 @@ class ExecutorImpl {
msg << "\nrequested by";
for (auto const& origin : origins->second) {
msg << "\n - ";
- msg << origin.first.ToShortString();
+ msg << origin.first.ToShortString(
+ Evaluator::GetExpressionLogLimit());
msg << "#";
msg << origin.second;
}
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index bada208a..a2bdb055 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -1125,7 +1125,8 @@ auto main(int argc, char* argv[]) -> int {
if (result) {
Logger::Log(LogLevel::Info,
"Analysed target {}",
- result->id.ToShortString());
+ result->id.ToShortString(
+ Evaluator::GetExpressionLogLimit()));
{
auto cached = stats.ExportsCachedCounter();
@@ -1194,7 +1195,8 @@ auto main(int argc, char* argv[]) -> int {
result->modified ? fmt::format(" input of action {} of",
*(result->modified))
: "",
- result->id.ToShortString());
+ result->id.ToShortString(
+ Evaluator::GetExpressionLogLimit()));
auto build_result =
traverser.BuildAndStage(artifacts,