summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_engine')
-rw-r--r--src/buildtool/execution_engine/dag/dag.cpp10
-rw-r--r--src/buildtool/execution_engine/dag/dag.hpp3
2 files changed, 13 insertions, 0 deletions
diff --git a/src/buildtool/execution_engine/dag/dag.cpp b/src/buildtool/execution_engine/dag/dag.cpp
index 96a74650..5d60dd01 100644
--- a/src/buildtool/execution_engine/dag/dag.cpp
+++ b/src/buildtool/execution_engine/dag/dag.cpp
@@ -104,6 +104,16 @@ auto DependencyGraph::Add(std::vector<ActionDescription> const& actions)
return true;
}
+auto DependencyGraph::Add(std::vector<ActionDescription::Ptr> const& actions)
+ -> bool {
+ for (auto const& action : actions) {
+ if (not AddAction(*action)) {
+ return false;
+ }
+ }
+ return true;
+}
+
auto DependencyGraph::AddArtifact(ArtifactDescription const& description)
-> ArtifactIdentifier {
auto artifact = description.ToArtifact();
diff --git a/src/buildtool/execution_engine/dag/dag.hpp b/src/buildtool/execution_engine/dag/dag.hpp
index 4f29d79a..ff055413 100644
--- a/src/buildtool/execution_engine/dag/dag.hpp
+++ b/src/buildtool/execution_engine/dag/dag.hpp
@@ -524,6 +524,9 @@ class DependencyGraph : DirectedAcyclicGraph {
[[nodiscard]] auto Add(std::vector<ActionDescription> const& actions)
-> bool;
+ [[nodiscard]] auto Add(std::vector<ActionDescription::Ptr> const& actions)
+ -> bool;
+
[[nodiscard]] auto AddAction(ActionDescription const& description) -> bool;
[[nodiscard]] auto AddArtifact(ArtifactDescription const& description)