summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/main/main.cpp35
1 files changed, 14 insertions, 21 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 7cb26e45..7c0d69c0 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -690,24 +690,12 @@ struct AnalysisResult {
}
[[nodiscard]] auto ResultToJson(TargetResult const& result) -> nlohmann::json {
- std::vector<std::string> artifacts{};
- std::vector<std::string> runfiles{};
- artifacts.reserve(result.artifact_stage->Map().size());
- runfiles.reserve(result.runfiles->Map().size());
- auto get_key = [](std::pair<std::string, ExpressionPtr> const& entry) {
- return entry.first;
- };
- std::transform(result.artifact_stage->Map().begin(),
- result.artifact_stage->Map().end(),
- std::back_inserter(artifacts),
- get_key);
- std::transform(result.runfiles->Map().begin(),
- result.runfiles->Map().end(),
- std::back_inserter(runfiles),
- get_key);
return nlohmann::ordered_json{
- {"artifacts", artifacts},
- {"runfiles", runfiles},
+ {"artifacts",
+ result.artifact_stage->ToJson(
+ Expression::JsonMode::SerializeAllButNodes)},
+ {"runfiles",
+ result.runfiles->ToJson(Expression::JsonMode::SerializeAllButNodes)},
{"provides",
result.provides->ToJson(Expression::JsonMode::SerializeAllButNodes)}};
}
@@ -914,10 +902,15 @@ void DumpNodes(std::string const& file_path, AnalysisResult const& result) {
[[nodiscard]] auto DiagnoseResults(AnalysisResult const& result,
Target::ResultTargetMap const& result_map,
DiagnosticArguments const& clargs) {
- Logger::Log(LogLevel::Info,
- "Result of target {}: {}",
- result.id.ToString(),
- ResultToJson(result.target->Result()).dump(2));
+ Logger::Log(
+ LogLevel::Info,
+ "Result of target {}: {}",
+ result.id.ToString(),
+ IndentOnlyUntilDepth(
+ ResultToJson(result.target->Result()),
+ 2,
+ 2,
+ std::unordered_map<std::string, std::size_t>{{"/provides", 3}}));
if (clargs.dump_actions) {
DumpActions(*clargs.dump_actions, result);
}