summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_engine/executor
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_engine/executor')
-rw-r--r--src/buildtool/execution_engine/executor/executor.hpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/buildtool/execution_engine/executor/executor.hpp b/src/buildtool/execution_engine/executor/executor.hpp
index 7d3d004d..1981cb28 100644
--- a/src/buildtool/execution_engine/executor/executor.hpp
+++ b/src/buildtool/execution_engine/executor/executor.hpp
@@ -776,10 +776,20 @@ class ExecutorImpl {
gsl::not_null<DependencyGraph::ActionNode const*> const& action,
gsl::not_null<Progress*> const& progress) noexcept {
std::ostringstream msg{};
- msg << "Failed to execute command ";
- msg << nlohmann::json(action->Command()).dump();
- msg << " in environment ";
- msg << nlohmann::json(action->Env()).dump();
+ if (action->Content().IsTreeOverlayAction() or
+ action->Content().IsTreeAction()) {
+ msg << "Failed to execute tree";
+ if (action->Content().IsTreeOverlayAction()) {
+ msg << "-overlay";
+ }
+ msg << " action.";
+ }
+ else {
+ msg << "Failed to execute command ";
+ msg << nlohmann::json(action->Command()).dump();
+ msg << " in environment ";
+ msg << nlohmann::json(action->Env()).dump();
+ }
auto const& origin_map = progress->OriginMap();
auto origins = origin_map.find(action->Content().Id());
if (origins != origin_map.end() and not origins->second.empty()) {