diff options
author | Alberto Sartori <alberto.sartori@huawei.com> | 2022-06-28 18:25:23 +0200 |
---|---|---|
committer | Alberto Sartori <alberto.sartori@huawei.com> | 2022-06-28 19:07:21 +0200 |
commit | 0ecb86e63af6e747a7ec812962de00b2179a2cd9 (patch) | |
tree | 7a1e0f1302f22a3762454133c506059c95515927 /src | |
parent | 41e647a3f54afbb527e9457c0a41b8c9a5ed70f8 (diff) | |
download | justbuild-0ecb86e63af6e747a7ec812962de00b2179a2cd9.tar.gz |
improve error message when outpus are not disjoint
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/build_engine/target_map/TARGETS | 2 | ||||
-rw-r--r-- | src/buildtool/build_engine/target_map/target_map.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/buildtool/build_engine/target_map/TARGETS b/src/buildtool/build_engine/target_map/TARGETS index 9fb4df3a..2539aa59 100644 --- a/src/buildtool/build_engine/target_map/TARGETS +++ b/src/buildtool/build_engine/target_map/TARGETS @@ -49,7 +49,9 @@ , ["src/buildtool/multithreading", "async_map_consumer"] , ["src/utils/cpp", "hash_combine"] , ["src/utils/cpp", "path"] + , ["@", "fmt", "", "fmt"] , ["@", "gsl-lite", "", "gsl-lite"] + , ["@", "json", "", "json"] ] , "stage": ["src", "buildtool", "build_engine", "target_map"] } diff --git a/src/buildtool/build_engine/target_map/target_map.cpp b/src/buildtool/build_engine/target_map/target_map.cpp index 4f32cdf1..815f1432 100644 --- a/src/buildtool/build_engine/target_map/target_map.cpp +++ b/src/buildtool/build_engine/target_map/target_map.cpp @@ -6,6 +6,7 @@ #include <string> #include <utility> +#include "fmt/format.h" #include "nlohmann/json.hpp" #include "src/buildtool/build_engine/base_maps/field_reader.hpp" #include "src/buildtool/build_engine/expression/configuration.hpp" @@ -405,7 +406,9 @@ void withDependencies( std::back_inserter(dups)); if (not dups.empty()) { throw Evaluator::EvaluationError{ - "outs and out_dirs for ACTION must be disjoint"}; + fmt::format("outs and out_dirs for ACTION must be " + "disjoint. Found repeated entries:\n{}", + nlohmann::json(dups).dump())}; } std::vector<std::string> cmd; |