diff options
Diffstat (limited to 'src/buildtool/execution_engine')
-rw-r--r-- | src/buildtool/execution_engine/dag/dag.cpp | 10 | ||||
-rw-r--r-- | src/buildtool/execution_engine/dag/dag.hpp | 3 |
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) |