summaryrefslogtreecommitdiff
path: root/src/buildtool/graph_traverser/graph_traverser.hpp
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2025-03-25 10:33:24 +0100
committerKlaus Aehlig <klaus.aehlig@huawei.com>2025-04-07 16:09:43 +0200
commit21957eabce87cc1f52a7fdecd5930970d01883f2 (patch)
treec5574d208e16f60e7cef6a1a9b5a14b88adb49d8 /src/buildtool/graph_traverser/graph_traverser.hpp
parent6fead11e5247cc4362b7fdcefc262faccac113a8 (diff)
downloadjustbuild-21957eabce87cc1f52a7fdecd5930970d01883f2.tar.gz
interfaces: extend signatures to be aware of tree overlays
In order to stay backwards compatible, the "tree_overlays" entry in action-graph descriptions is optional.
Diffstat (limited to 'src/buildtool/graph_traverser/graph_traverser.hpp')
-rw-r--r--src/buildtool/graph_traverser/graph_traverser.hpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp
index 0958a507..a0214e69 100644
--- a/src/buildtool/graph_traverser/graph_traverser.hpp
+++ b/src/buildtool/graph_traverser/graph_traverser.hpp
@@ -35,6 +35,7 @@
#include "src/buildtool/common/cli.hpp"
#include "src/buildtool/common/identifier.hpp"
#include "src/buildtool/common/tree.hpp"
+#include "src/buildtool/common/tree_overlay.hpp"
#include "src/buildtool/execution_engine/dag/dag.hpp"
#include "src/buildtool/execution_engine/executor/context.hpp"
#include "src/buildtool/logging/logger.hpp"
@@ -81,6 +82,7 @@ class GraphTraverser {
std::vector<ActionDescription::Ptr>&& action_descriptions,
std::vector<std::string>&& blobs,
std::vector<Tree::Ptr>&& trees,
+ std::vector<TreeOverlay::Ptr>&& tree_overlays,
std::vector<ArtifactDescription>&& extra_artifacts = {}) const
-> std::optional<BuildResult>;
@@ -104,9 +106,10 @@ class GraphTraverser {
/// and the actions as a json object.
[[nodiscard]] static auto ReadGraphDescription(
std::filesystem::path const& graph_description,
- Logger const* logger)
- -> std::optional<
- std::tuple<nlohmann::json, nlohmann::json, nlohmann::json>>;
+ Logger const* logger) -> std::optional<std::tuple<nlohmann::json,
+ nlohmann::json,
+ nlohmann::json,
+ nlohmann::json>>;
/// \brief Requires for the executor to upload blobs to CAS. In the case any
/// of the uploads fails, execution is terminated
@@ -156,6 +159,7 @@ class GraphTraverser {
std::map<std::string, ArtifactDescription> const& runfiles,
std::vector<ActionDescription::Ptr>&& actions,
std::vector<Tree::Ptr>&& trees,
+ std::vector<TreeOverlay::Ptr>&& tree_overlays,
std::vector<std::string>&& blobs,
std::vector<ArtifactDescription> const& extra_artifacts = {}) const
-> std::optional<