summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/execution_api/bazel_msg/TARGETS5
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp5
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp6
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp6
-rw-r--r--src/buildtool/execution_api/bazel_msg/directory_tree.cpp2
-rw-r--r--src/buildtool/execution_api/bazel_msg/directory_tree.hpp1
-rw-r--r--src/buildtool/execution_api/common/TARGETS16
-rw-r--r--src/buildtool/execution_api/common/api_bundle.cpp5
-rw-r--r--src/buildtool/execution_api/common/api_bundle.hpp4
-rw-r--r--src/buildtool/execution_api/common/blob_tree.cpp4
-rw-r--r--src/buildtool/execution_api/common/blob_tree.hpp1
-rw-r--r--src/buildtool/execution_api/common/common_api.cpp12
-rw-r--r--src/buildtool/execution_api/common/common_api.hpp2
-rw-r--r--src/buildtool/execution_api/common/execution_action.hpp5
-rw-r--r--src/buildtool/execution_api/common/execution_api.hpp1
-rw-r--r--src/buildtool/execution_api/common/execution_common.hpp3
-rw-r--r--src/buildtool/execution_api/common/execution_response.hpp1
-rw-r--r--src/buildtool/execution_api/common/stream_dumper.hpp1
-rw-r--r--src/buildtool/execution_api/common/tree_reader.hpp5
-rw-r--r--src/buildtool/execution_api/common/tree_reader_utils.cpp6
-rw-r--r--src/buildtool/execution_api/git/TARGETS7
-rw-r--r--src/buildtool/execution_api/git/git_api.hpp14
-rw-r--r--src/buildtool/execution_api/local/TARGETS18
-rw-r--r--src/buildtool/execution_api/local/config.hpp3
-rw-r--r--src/buildtool/execution_api/local/local_action.cpp9
-rw-r--r--src/buildtool/execution_api/local/local_action.hpp11
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp22
-rw-r--r--src/buildtool/execution_api/local/local_cas_reader.cpp8
-rw-r--r--src/buildtool/execution_api/local/local_response.hpp8
-rw-r--r--src/buildtool/execution_api/serve/TARGETS5
-rw-r--r--src/buildtool/execution_api/serve/mr_git_api.cpp1
-rw-r--r--src/buildtool/execution_api/serve/mr_git_api.hpp2
-rw-r--r--src/buildtool/execution_api/serve/mr_local_api.cpp5
-rw-r--r--src/buildtool/execution_api/serve/mr_local_api.hpp2
-rw-r--r--src/buildtool/execution_api/serve/utils.cpp1
-rw-r--r--src/buildtool/execution_api/utils/TARGETS11
-rw-r--r--src/buildtool/execution_api/utils/outputscheck.hpp1
-rw-r--r--src/buildtool/execution_api/utils/subobject.cpp6
38 files changed, 166 insertions, 59 deletions
diff --git a/src/buildtool/execution_api/bazel_msg/TARGETS b/src/buildtool/execution_api/bazel_msg/TARGETS
index 3adeaa9e..69cde0b5 100644
--- a/src/buildtool/execution_api/bazel_msg/TARGETS
+++ b/src/buildtool/execution_api/bazel_msg/TARGETS
@@ -4,9 +4,7 @@
, "hdrs": ["bazel_blob_container.hpp", "bazel_common.hpp"]
, "deps":
[ ["src/buildtool/common", "bazel_types"]
- , ["src/buildtool/common", "common"]
, ["src/buildtool/execution_api/common", "content_blob_container"]
- , ["src/buildtool/file_system", "file_system_manager"]
]
, "stage": ["src", "buildtool", "execution_api", "bazel_msg"]
}
@@ -23,7 +21,6 @@
, ["src/buildtool/common", "common"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/common", "artifact_blob_container"]
- , ["src/buildtool/execution_engine/dag", "dag"]
, ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
@@ -31,7 +28,9 @@
]
, "private-deps":
[ ["@", "fmt", "", "fmt"]
+ , ["@", "protoc", "", "libprotobuf"]
, ["src/buildtool/common", "artifact_digest_factory"]
+ , ["src/buildtool/execution_api/common", "content_blob_container"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/file_system", "git_repo"]
, ["src/utils/cpp", "hex_string"]
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp b/src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp
index 824c3084..039ddf9c 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp
@@ -15,13 +15,8 @@
#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_BAZEL_MSG_BAZEL_BLOB_CONTAINER_HPP
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_BAZEL_MSG_BAZEL_BLOB_CONTAINER_HPP
-#include <filesystem>
-#include <optional>
-
-#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/execution_api/common/content_blob_container.hpp"
-#include "src/buildtool/file_system/file_system_manager.hpp"
using BazelBlob = ContentBlob<bazel_re::Digest>;
using BazelBlobContainer = ContentBlobContainer<bazel_re::Digest>;
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
index 0d5aa8b0..be0e3309 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.cpp
@@ -15,18 +15,22 @@
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include <algorithm>
+#include <compare>
#include <exception>
#include <filesystem>
#include <functional>
#include <memory>
#include <optional>
-#include <sstream>
#include <string>
+#include <unordered_map>
#include <utility> // std::move
#include <vector>
#include "fmt/core.h"
+#include "google/protobuf/duration.pb.h"
+#include "google/protobuf/repeated_ptr_field.h"
#include "src/buildtool/common/artifact_digest_factory.hpp"
+#include "src/buildtool/execution_api/common/content_blob_container.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/file_system/git_repo.hpp"
#include "src/utils/cpp/hex_string.hpp"
diff --git a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp
index 540aaa39..030dc0b1 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp
@@ -18,10 +18,11 @@
#include <chrono>
#include <filesystem>
#include <functional>
-#include <memory>
+#include <iterator>
+#include <map>
#include <optional>
#include <string>
-#include <utility>
+#include <variant>
#include <vector>
#include "gsl/gsl"
@@ -32,7 +33,6 @@
#include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp"
#include "src/buildtool/execution_api/bazel_msg/directory_tree.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
-#include "src/buildtool/execution_engine/dag/dag.hpp"
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
diff --git a/src/buildtool/execution_api/bazel_msg/directory_tree.cpp b/src/buildtool/execution_api/bazel_msg/directory_tree.cpp
index c7ddfdef..5f1c4e3d 100644
--- a/src/buildtool/execution_api/bazel_msg/directory_tree.cpp
+++ b/src/buildtool/execution_api/bazel_msg/directory_tree.cpp
@@ -14,6 +14,8 @@
#include "directory_tree.hpp"
+#include <utility>
+
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/logging/log_level.hpp"
diff --git a/src/buildtool/execution_api/bazel_msg/directory_tree.hpp b/src/buildtool/execution_api/bazel_msg/directory_tree.hpp
index 5436be9e..5b3aad60 100644
--- a/src/buildtool/execution_api/bazel_msg/directory_tree.hpp
+++ b/src/buildtool/execution_api/bazel_msg/directory_tree.hpp
@@ -16,6 +16,7 @@
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_BAZEL_MSG_DIRECTORY_TREE_HPP
#include <filesystem>
+#include <functional>
#include <memory>
#include <optional>
#include <string>
diff --git a/src/buildtool/execution_api/common/TARGETS b/src/buildtool/execution_api/common/TARGETS
index 0de32644..41eb07b4 100644
--- a/src/buildtool/execution_api/common/TARGETS
+++ b/src/buildtool/execution_api/common/TARGETS
@@ -13,10 +13,11 @@
, "srcs": ["tree_reader_utils.cpp"]
, "deps":
[ "artifact_blob_container"
+ , ["@", "fmt", "", "fmt"]
, ["@", "gsl", "", "gsl"]
+ , ["@", "protoc", "", "libprotobuf"]
, ["src/buildtool/common", "bazel_types"]
, ["src/buildtool/common", "common"]
- , ["src/buildtool/common", "protocol_traits"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_engine/dag", "dag"]
, ["src/buildtool/file_system", "git_repo"]
@@ -30,6 +31,7 @@
, "private-deps":
[ ["@", "json", "", "json"]
, ["src/buildtool/common", "artifact_digest_factory"]
+ , ["src/utils/cpp", "path"]
]
, "stage": ["src", "buildtool", "execution_api", "common"]
}
@@ -51,7 +53,10 @@
, "deps":
[ "common"
, ["@", "gsl", "", "gsl"]
+ , ["src/buildtool/auth", "auth"]
, ["src/buildtool/common", "config"]
+ , ["src/buildtool/common/remote", "remote_common"]
+ , ["src/buildtool/common/remote", "retry_config"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/local", "context"]
, ["src/buildtool/execution_api/remote", "context"]
@@ -60,6 +65,8 @@
[ ["src/buildtool/execution_api/bazel_msg", "bazel_msg"]
, ["src/buildtool/execution_api/local", "local"]
, ["src/buildtool/execution_api/remote", "bazel"]
+ , ["src/buildtool/execution_api/remote", "config"]
+ , ["src/buildtool/storage", "config"]
]
}
, "message_limits":
@@ -87,7 +94,11 @@
, ["src/buildtool/logging", "logging"]
]
, "stage": ["src", "buildtool", "execution_api", "common"]
- , "private-deps": [["@", "fmt", "", "fmt"]]
+ , "private-deps":
+ [ "artifact_blob_container"
+ , ["@", "fmt", "", "fmt"]
+ , ["src/buildtool/file_system", "object_type"]
+ ]
}
, "blob_tree":
{ "type": ["@", "rules", "CC", "library"]
@@ -105,6 +116,7 @@
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/file_system", "git_repo"]
, ["src/buildtool/file_system", "object_type"]
+ , ["src/utils/cpp", "expected"]
, ["src/utils/cpp", "hex_string"]
]
, "stage": ["src", "buildtool", "execution_api", "common"]
diff --git a/src/buildtool/execution_api/common/api_bundle.cpp b/src/buildtool/execution_api/common/api_bundle.cpp
index 2106f555..23b8b15d 100644
--- a/src/buildtool/execution_api/common/api_bundle.cpp
+++ b/src/buildtool/execution_api/common/api_bundle.cpp
@@ -14,9 +14,14 @@
#include "src/buildtool/execution_api/common/api_bundle.hpp"
+#include <memory>
+#include <utility>
+
#include "src/buildtool/execution_api/bazel_msg/bazel_common.hpp"
#include "src/buildtool/execution_api/local/local_api.hpp"
#include "src/buildtool/execution_api/remote/bazel/bazel_api.hpp"
+#include "src/buildtool/execution_api/remote/config.hpp"
+#include "src/buildtool/storage/config.hpp"
/// \note Some logic from MakeRemote is duplicated here as that method cannot
/// be used without the hash_function field being set prior to the call.
diff --git a/src/buildtool/execution_api/common/api_bundle.hpp b/src/buildtool/execution_api/common/api_bundle.hpp
index e342ce55..19146f66 100644
--- a/src/buildtool/execution_api/common/api_bundle.hpp
+++ b/src/buildtool/execution_api/common/api_bundle.hpp
@@ -15,10 +15,12 @@
#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_API_BUNDLE_HPP
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_API_BUNDLE_HPP
-#include <memory>
#include <optional>
#include "gsl/gsl"
+#include "src/buildtool/auth/authentication.hpp"
+#include "src/buildtool/common/remote/remote_common.hpp"
+#include "src/buildtool/common/remote/retry_config.hpp"
#include "src/buildtool/common/repository_config.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
diff --git a/src/buildtool/execution_api/common/blob_tree.cpp b/src/buildtool/execution_api/common/blob_tree.cpp
index 6bb503b7..a0d362b4 100644
--- a/src/buildtool/execution_api/common/blob_tree.cpp
+++ b/src/buildtool/execution_api/common/blob_tree.cpp
@@ -14,6 +14,9 @@
#include "src/buildtool/execution_api/common/blob_tree.hpp"
+#include <functional>
+#include <string>
+#include <unordered_map>
#include <utility>
#include <variant>
@@ -23,6 +26,7 @@
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/git_repo.hpp"
#include "src/buildtool/file_system/object_type.hpp"
+#include "src/utils/cpp/expected.hpp"
#include "src/utils/cpp/hex_string.hpp"
auto BlobTree::FromDirectoryTree(DirectoryTreePtr const& tree,
diff --git a/src/buildtool/execution_api/common/blob_tree.hpp b/src/buildtool/execution_api/common/blob_tree.hpp
index 051b0fe2..4b2bde01 100644
--- a/src/buildtool/execution_api/common/blob_tree.hpp
+++ b/src/buildtool/execution_api/common/blob_tree.hpp
@@ -22,6 +22,7 @@
#include <vector>
#include "gsl/gsl"
+#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/execution_api/bazel_msg/directory_tree.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
diff --git a/src/buildtool/execution_api/common/common_api.cpp b/src/buildtool/execution_api/common/common_api.cpp
index c21d14a4..87079602 100644
--- a/src/buildtool/execution_api/common/common_api.cpp
+++ b/src/buildtool/execution_api/common/common_api.cpp
@@ -14,10 +14,22 @@
#include "src/buildtool/execution_api/common/common_api.hpp"
+#ifdef __unix__
+#include <unistd.h>
+#else
+#error "Non-unix is not supported yet"
+#endif
+
#include <cstddef>
#include <exception>
+#include <memory>
+#include <sstream>
+#include <string>
+#include <utility>
#include "fmt/core.h"
+#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
auto CommonRetrieveToFds(
std::vector<Artifact::ObjectInfo> const& artifacts_info,
diff --git a/src/buildtool/execution_api/common/common_api.hpp b/src/buildtool/execution_api/common/common_api.hpp
index 16931832..991b9875 100644
--- a/src/buildtool/execution_api/common/common_api.hpp
+++ b/src/buildtool/execution_api/common/common_api.hpp
@@ -20,9 +20,7 @@
#include <functional>
#include <iterator>
#include <optional>
-#include <type_traits>
#include <unordered_map>
-#include <utility>
#include <vector>
#include "gsl/gsl"
diff --git a/src/buildtool/execution_api/common/execution_action.hpp b/src/buildtool/execution_api/common/execution_action.hpp
index a5284ca1..e0d629a7 100644
--- a/src/buildtool/execution_api/common/execution_action.hpp
+++ b/src/buildtool/execution_api/common/execution_action.hpp
@@ -19,11 +19,8 @@
#include <cstdint>
#include <memory>
-#include "gsl/gsl"
#include "src/buildtool/execution_api/common/execution_response.hpp"
-
-class Logger;
-class ExecutionArtifactContainer;
+#include "src/buildtool/logging/logger.hpp"
/// \brief Abstract action.
/// Can execute multiple commands. Commands are executed in arbitrary order and
diff --git a/src/buildtool/execution_api/common/execution_api.hpp b/src/buildtool/execution_api/common/execution_api.hpp
index c9ee276b..7cee8b7e 100644
--- a/src/buildtool/execution_api/common/execution_api.hpp
+++ b/src/buildtool/execution_api/common/execution_api.hpp
@@ -23,7 +23,6 @@
#include <string>
#include <vector>
-#include "gsl/gsl"
#include "src/buildtool/common/artifact.hpp" // Artifact::ObjectInfo
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
diff --git a/src/buildtool/execution_api/common/execution_common.hpp b/src/buildtool/execution_api/common/execution_common.hpp
index 0cf0983d..7a55003c 100644
--- a/src/buildtool/execution_api/common/execution_common.hpp
+++ b/src/buildtool/execution_api/common/execution_common.hpp
@@ -24,6 +24,8 @@
#include <array>
#include <cstddef>
+#include <cstdint>
+#include <exception>
#include <filesystem>
#include <optional>
#include <random>
@@ -31,6 +33,7 @@
#include <string>
#include <thread>
+#include "fmt/core.h"
#include "gsl/gsl"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/logging/log_level.hpp"
diff --git a/src/buildtool/execution_api/common/execution_response.hpp b/src/buildtool/execution_api/common/execution_response.hpp
index 90c67317..6b313874 100644
--- a/src/buildtool/execution_api/common/execution_response.hpp
+++ b/src/buildtool/execution_api/common/execution_response.hpp
@@ -20,7 +20,6 @@
#include <string>
#include <unordered_map>
#include <unordered_set>
-#include <vector>
#include "gsl/gsl"
#include "src/buildtool/common/artifact.hpp"
diff --git a/src/buildtool/execution_api/common/stream_dumper.hpp b/src/buildtool/execution_api/common/stream_dumper.hpp
index c1d99588..3129c58d 100644
--- a/src/buildtool/execution_api/common/stream_dumper.hpp
+++ b/src/buildtool/execution_api/common/stream_dumper.hpp
@@ -22,7 +22,6 @@
#include "gsl/gsl"
#include "src/buildtool/common/artifact.hpp"
-#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/execution_api/common/tree_reader_utils.hpp"
#include "src/buildtool/file_system/object_type.hpp"
diff --git a/src/buildtool/execution_api/common/tree_reader.hpp b/src/buildtool/execution_api/common/tree_reader.hpp
index 9c1b295e..7ec66163 100644
--- a/src/buildtool/execution_api/common/tree_reader.hpp
+++ b/src/buildtool/execution_api/common/tree_reader.hpp
@@ -16,16 +16,15 @@
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_TREE_READER_HPP
#include <filesystem>
-#include <functional>
#include <optional>
#include <utility>
#include <vector>
+#include "google/protobuf/repeated_ptr_field.h"
#include "src/buildtool/common/artifact.hpp"
+#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/bazel_types.hpp"
-#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/execution_api/common/tree_reader_utils.hpp"
-#include "src/buildtool/file_system/git_repo.hpp"
#include "src/buildtool/file_system/object_type.hpp"
struct ReadTreeResult final {
diff --git a/src/buildtool/execution_api/common/tree_reader_utils.cpp b/src/buildtool/execution_api/common/tree_reader_utils.cpp
index 5a55c059..2ec90cc2 100644
--- a/src/buildtool/execution_api/common/tree_reader_utils.cpp
+++ b/src/buildtool/execution_api/common/tree_reader_utils.cpp
@@ -15,9 +15,11 @@
#include "src/buildtool/execution_api/common/tree_reader_utils.hpp"
#include <exception>
-#include <type_traits>
+#include <unordered_map>
#include <utility>
+#include <vector>
+#include "google/protobuf/repeated_ptr_field.h"
#include "nlohmann/json.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
@@ -25,7 +27,9 @@
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/utils/cpp/expected.hpp"
#include "src/utils/cpp/hex_string.hpp"
+#include "src/utils/cpp/path.hpp"
namespace {
[[nodiscard]] auto CreateObjectInfo(HashFunction hash_function,
diff --git a/src/buildtool/execution_api/git/TARGETS b/src/buildtool/execution_api/git/TARGETS
index 860a9388..8b79f029 100644
--- a/src/buildtool/execution_api/git/TARGETS
+++ b/src/buildtool/execution_api/git/TARGETS
@@ -4,16 +4,21 @@
, "hdrs": ["git_api.hpp"]
, "deps":
[ ["@", "gsl", "", "gsl"]
+ , ["@", "json", "", "json"]
, ["src/buildtool/common", "artifact_digest_factory"]
, ["src/buildtool/common", "common"]
, ["src/buildtool/common", "config"]
, ["src/buildtool/crypto", "hash_function"]
- , ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"]
, ["src/buildtool/execution_api/common", "artifact_blob_container"]
, ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/execution_api/common", "common_api"]
+ , ["src/buildtool/execution_engine/dag", "dag"]
+ , ["src/buildtool/file_system", "file_system_manager"]
+ , ["src/buildtool/file_system", "git_tree"]
+ , ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
+ , ["src/utils/cpp", "expected"]
]
, "stage": ["src", "buildtool", "execution_api", "git"]
}
diff --git a/src/buildtool/execution_api/git/git_api.hpp b/src/buildtool/execution_api/git/git_api.hpp
index aab488b3..a02f577e 100644
--- a/src/buildtool/execution_api/git/git_api.hpp
+++ b/src/buildtool/execution_api/git/git_api.hpp
@@ -17,22 +17,34 @@
#include <cstddef>
#include <cstdio>
+#include <filesystem>
+#include <functional>
#include <map>
+#include <memory>
#include <optional>
#include <string>
+#include <unordered_map>
+#include <utility>
#include <vector>
#include "gsl/gsl"
+#include "nlohmann/json.hpp"
+#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
#include "src/buildtool/common/repository_config.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
-#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
#include "src/buildtool/execution_api/common/common_api.hpp"
+#include "src/buildtool/execution_api/common/execution_action.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
+#include "src/buildtool/execution_engine/dag/dag.hpp"
+#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/git_tree.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/utils/cpp/expected.hpp"
/// \brief API for local execution.
class GitApi final : public IExecutionApi {
diff --git a/src/buildtool/execution_api/local/TARGETS b/src/buildtool/execution_api/local/TARGETS
index 66a27034..5114dc35 100644
--- a/src/buildtool/execution_api/local/TARGETS
+++ b/src/buildtool/execution_api/local/TARGETS
@@ -2,13 +2,7 @@
{ "type": ["@", "rules", "CC", "library"]
, "name": ["config"]
, "hdrs": ["config.hpp"]
- , "deps":
- [ ["@", "fmt", "", "fmt"]
- , ["@", "json", "", "json"]
- , ["src/buildtool/logging", "log_level"]
- , ["src/buildtool/logging", "logging"]
- , ["src/utils/cpp", "expected"]
- ]
+ , "deps": [["@", "fmt", "", "fmt"], ["src/utils/cpp", "expected"]]
, "stage": ["src", "buildtool", "execution_api", "local"]
}
, "local":
@@ -26,6 +20,7 @@
, ["@", "fmt", "", "fmt"]
, ["@", "grpc", "", "grpc++"]
, ["@", "gsl", "", "gsl"]
+ , ["@", "protoc", "", "libprotobuf"]
, ["src/buildtool/common", "artifact_digest_factory"]
, ["src/buildtool/common", "bazel_types"]
, ["src/buildtool/common", "common"]
@@ -34,24 +29,29 @@
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/bazel_msg", "bazel_msg"]
, ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"]
+ , ["src/buildtool/execution_api/bazel_msg", "directory_tree"]
, ["src/buildtool/execution_api/common", "artifact_blob_container"]
- , ["src/buildtool/execution_api/common", "blob_tree"]
, ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/execution_api/common", "common_api"]
, ["src/buildtool/execution_api/execution_service", "cas_utils"]
, ["src/buildtool/execution_api/git", "git"]
+ , ["src/buildtool/execution_engine/dag", "dag"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/file_system", "git_repo"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
+ , ["src/buildtool/storage", "config"]
, ["src/buildtool/storage", "storage"]
, ["src/utils/cpp", "expected"]
, ["src/utils/cpp", "path"]
, ["src/utils/cpp", "tmp_dir"]
+ , ["src/utils/cpp", "transformed_range"]
]
, "stage": ["src", "buildtool", "execution_api", "local"]
, "private-deps":
- [ ["src/buildtool/execution_api/utils", "outputscheck"]
+ [ "config"
+ , ["@", "json", "", "json"]
+ , ["src/buildtool/execution_api/utils", "outputscheck"]
, ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/system", "system_command"]
]
diff --git a/src/buildtool/execution_api/local/config.hpp b/src/buildtool/execution_api/local/config.hpp
index f2c8bf57..c642f5aa 100644
--- a/src/buildtool/execution_api/local/config.hpp
+++ b/src/buildtool/execution_api/local/config.hpp
@@ -22,9 +22,6 @@
#include <vector>
#include "fmt/core.h"
-#include "nlohmann/json.hpp"
-#include "src/buildtool/logging/log_level.hpp"
-#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/expected.hpp"
/// \brief Store local execution configuration.
diff --git a/src/buildtool/execution_api/local/local_action.cpp b/src/buildtool/execution_api/local/local_action.cpp
index c500afba..8847692b 100644
--- a/src/buildtool/execution_api/local/local_action.cpp
+++ b/src/buildtool/execution_api/local/local_action.cpp
@@ -16,21 +16,30 @@
#include <algorithm>
#include <cstddef>
+#include <exception>
#include <filesystem>
+#include <iterator>
+#include <memory>
#include <string>
#include <system_error>
#include <utility>
+#include "google/protobuf/repeated_ptr_field.h"
+#include "nlohmann/json.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
#include "src/buildtool/common/protocol_traits.hpp"
+#include "src/buildtool/execution_api/common/execution_common.hpp"
#include "src/buildtool/execution_api/common/tree_reader.hpp"
+#include "src/buildtool/execution_api/local/config.hpp"
#include "src/buildtool/execution_api/local/local_cas_reader.hpp"
#include "src/buildtool/execution_api/local/local_response.hpp"
#include "src/buildtool/execution_api/utils/outputscheck.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
+#include "src/buildtool/storage/storage.hpp"
#include "src/buildtool/system/system_command.hpp"
+#include "src/utils/cpp/expected.hpp"
#include "src/utils/cpp/path.hpp"
namespace {
diff --git a/src/buildtool/execution_api/local/local_action.hpp b/src/buildtool/execution_api/local/local_action.hpp
index 96541f58..ea19632e 100644
--- a/src/buildtool/execution_api/local/local_action.hpp
+++ b/src/buildtool/execution_api/local/local_action.hpp
@@ -15,27 +15,32 @@
#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_LOCAL_ACTION_HPP
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_LOCAL_ACTION_HPP
+#include <algorithm>
#include <chrono>
+#include <compare>
+#include <filesystem>
+#include <functional> // IWYU pragma: keep
#include <map>
-#include <memory>
#include <optional>
#include <string>
#include <unordered_map>
#include <utility> // std::move
+#include <variant>
#include <vector>
#include "gsl/gsl"
+#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/bazel_types.hpp"
+#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/execution_api/common/execution_action.hpp"
#include "src/buildtool/execution_api/common/execution_response.hpp"
#include "src/buildtool/execution_api/local/context.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/buildtool/storage/config.hpp"
#include "src/utils/cpp/tmp_dir.hpp"
-class LocalApi;
-
/// \brief Action for local execution.
class LocalAction final : public IExecutionAction {
friend class LocalApi;
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index 2302cb5c..8df51d27 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -15,8 +15,11 @@
#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_LOCAL_API_HPP
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_LOCAL_API_HPP
+#include <algorithm>
#include <cstddef>
-#include <iterator>
+#include <cstdio>
+#include <filesystem>
+#include <functional>
#include <map>
#include <memory>
#include <new> // std::nothrow
@@ -25,20 +28,21 @@
#include <string>
#include <unordered_map>
#include <utility> // std::move
-#include <variant>
#include <vector>
-#include "fmt/core.h"
-#include "grpcpp/support/status.h"
+#include <grpcpp/support/status.h>
+
#include "gsl/gsl"
+#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/common/repository_config.hpp"
-#include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp"
+#include "src/buildtool/crypto/hash_function.hpp"
+#include "src/buildtool/execution_api/bazel_msg/directory_tree.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
-#include "src/buildtool/execution_api/common/blob_tree.hpp"
#include "src/buildtool/execution_api/common/common_api.hpp"
+#include "src/buildtool/execution_api/common/execution_action.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/execution_api/common/stream_dumper.hpp"
#include "src/buildtool/execution_api/common/tree_reader.hpp"
@@ -47,9 +51,15 @@
#include "src/buildtool/execution_api/local/context.hpp"
#include "src/buildtool/execution_api/local/local_action.hpp"
#include "src/buildtool/execution_api/local/local_cas_reader.hpp"
+#include "src/buildtool/execution_engine/dag/dag.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/buildtool/storage/config.hpp"
+#include "src/buildtool/storage/storage.hpp"
+#include "src/utils/cpp/expected.hpp"
+#include "src/utils/cpp/transformed_range.hpp"
/// \brief API for local execution.
class LocalApi final : public IExecutionApi {
diff --git a/src/buildtool/execution_api/local/local_cas_reader.cpp b/src/buildtool/execution_api/local/local_cas_reader.cpp
index bac7ee71..5365404f 100644
--- a/src/buildtool/execution_api/local/local_cas_reader.cpp
+++ b/src/buildtool/execution_api/local/local_cas_reader.cpp
@@ -15,20 +15,28 @@
#include "src/buildtool/execution_api/local/local_cas_reader.hpp"
#include <algorithm>
+#include <compare>
+#include <cstddef>
#include <cstdio>
+#include <deque>
#include <memory>
#include <stack>
+#include <type_traits>
#include <unordered_map>
#include <utility>
#include <vector>
+#include "google/protobuf/repeated_ptr_field.h"
#include "gsl/gsl"
#include "src/buildtool/common/artifact_digest_factory.hpp"
+#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/utils/cpp/expected.hpp"
#include "src/utils/cpp/path.hpp"
namespace {
diff --git a/src/buildtool/execution_api/local/local_response.hpp b/src/buildtool/execution_api/local/local_response.hpp
index fbb58b28..60d37ae5 100644
--- a/src/buildtool/execution_api/local/local_response.hpp
+++ b/src/buildtool/execution_api/local/local_response.hpp
@@ -16,13 +16,20 @@
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_LOCAL_LOCAL_RESPONSE_HPP
#include <cstddef>
+#include <exception>
+#include <filesystem>
+#include <functional>
#include <optional>
#include <string>
#include <utility>
#include "fmt/core.h"
+#include "google/protobuf/repeated_ptr_field.h"
#include "gsl/gsl"
+#include "src/buildtool/common/artifact.hpp"
+#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/artifact_digest_factory.hpp"
+#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/common/execution_response.hpp"
@@ -30,6 +37,7 @@
#include "src/buildtool/execution_api/local/local_action.hpp"
#include "src/buildtool/execution_api/local/local_cas_reader.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
#include "src/buildtool/storage/storage.hpp"
diff --git a/src/buildtool/execution_api/serve/TARGETS b/src/buildtool/execution_api/serve/TARGETS
index 2d45ed14..f4d999b2 100644
--- a/src/buildtool/execution_api/serve/TARGETS
+++ b/src/buildtool/execution_api/serve/TARGETS
@@ -12,6 +12,7 @@
, "stage": ["src", "buildtool", "execution_api", "serve"]
, "private-deps":
[ ["@", "fmt", "", "fmt"]
+ , ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/storage", "fs_utils"]
]
@@ -25,7 +26,6 @@
[ ["@", "gsl", "", "gsl"]
, ["src/buildtool/common", "common"]
, ["src/buildtool/common", "config"]
- , ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/common", "artifact_blob_container"]
, ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/execution_engine/dag", "dag"]
@@ -51,7 +51,6 @@
, "deps":
[ ["@", "gsl", "", "gsl"]
, ["src/buildtool/common", "common"]
- , ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/common", "artifact_blob_container"]
, ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/execution_api/local", "context"]
@@ -65,6 +64,8 @@
, ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
+ , ["src/buildtool/storage", "config"]
+ , ["src/buildtool/storage", "storage"]
, ["src/utils/cpp", "expected"]
]
}
diff --git a/src/buildtool/execution_api/serve/mr_git_api.cpp b/src/buildtool/execution_api/serve/mr_git_api.cpp
index 1e433fff..46bc4c83 100644
--- a/src/buildtool/execution_api/serve/mr_git_api.cpp
+++ b/src/buildtool/execution_api/serve/mr_git_api.cpp
@@ -15,6 +15,7 @@
#include "src/buildtool/execution_api/serve/mr_git_api.hpp"
#include <utility>
+#include <variant>
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/execution_api/git/git_api.hpp"
diff --git a/src/buildtool/execution_api/serve/mr_git_api.hpp b/src/buildtool/execution_api/serve/mr_git_api.hpp
index 74864218..3a4fd184 100644
--- a/src/buildtool/execution_api/serve/mr_git_api.hpp
+++ b/src/buildtool/execution_api/serve/mr_git_api.hpp
@@ -25,8 +25,8 @@
#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/repository_config.hpp"
-#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
+#include "src/buildtool/execution_api/common/execution_action.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/execution_engine/dag/dag.hpp"
#include "src/buildtool/storage/config.hpp"
diff --git a/src/buildtool/execution_api/serve/mr_local_api.cpp b/src/buildtool/execution_api/serve/mr_local_api.cpp
index 78e960c2..7a8eb61a 100644
--- a/src/buildtool/execution_api/serve/mr_local_api.cpp
+++ b/src/buildtool/execution_api/serve/mr_local_api.cpp
@@ -14,9 +14,8 @@
#include "src/buildtool/execution_api/serve/mr_local_api.hpp"
-#include <cstddef>
-#include <memory>
#include <utility>
+#include <variant>
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
@@ -24,6 +23,8 @@
#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
+#include "src/buildtool/storage/config.hpp"
+#include "src/buildtool/storage/storage.hpp"
#include "src/utils/cpp/expected.hpp"
MRLocalApi::MRLocalApi(
diff --git a/src/buildtool/execution_api/serve/mr_local_api.hpp b/src/buildtool/execution_api/serve/mr_local_api.hpp
index e86efb2f..813d164b 100644
--- a/src/buildtool/execution_api/serve/mr_local_api.hpp
+++ b/src/buildtool/execution_api/serve/mr_local_api.hpp
@@ -24,8 +24,8 @@
#include "gsl/gsl"
#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
-#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/common/artifact_blob_container.hpp"
+#include "src/buildtool/execution_api/common/execution_action.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/execution_api/local/context.hpp"
#include "src/buildtool/execution_engine/dag/dag.hpp"
diff --git a/src/buildtool/execution_api/serve/utils.cpp b/src/buildtool/execution_api/serve/utils.cpp
index 2796d3b1..39c4f7d3 100644
--- a/src/buildtool/execution_api/serve/utils.cpp
+++ b/src/buildtool/execution_api/serve/utils.cpp
@@ -20,6 +20,7 @@
#include <utility> // std::move
#include "fmt/core.h"
+#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/file_system/file_system_manager.hpp"
#include "src/buildtool/storage/fs_utils.hpp"
diff --git a/src/buildtool/execution_api/utils/TARGETS b/src/buildtool/execution_api/utils/TARGETS
index f4033ee5..bff656ec 100644
--- a/src/buildtool/execution_api/utils/TARGETS
+++ b/src/buildtool/execution_api/utils/TARGETS
@@ -8,10 +8,14 @@
, ["src/buildtool/execution_api/common", "api_bundle"]
]
, "private-deps":
- [ ["src/buildtool/common", "protocol_traits"]
+ [ ["@", "gsl", "", "gsl"]
+ , ["src/buildtool/common", "bazel_types"]
+ , ["src/buildtool/common", "protocol_traits"]
, ["src/buildtool/crypto", "hash_function"]
, ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"]
, ["src/buildtool/execution_api/common", "common"]
+ , ["src/buildtool/file_system", "git_repo"]
+ , ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/logging", "log_level"]
, ["src/buildtool/logging", "logging"]
]
@@ -21,7 +25,10 @@
{ "type": ["@", "rules", "CC", "library"]
, "name": ["outputscheck"]
, "hdrs": ["outputscheck.hpp"]
- , "deps": [["src/buildtool/common", "bazel_types"]]
+ , "deps":
+ [ ["@", "protoc", "", "libprotobuf"]
+ , ["src/buildtool/common", "bazel_types"]
+ ]
, "stage": ["src", "buildtool", "execution_api", "utils"]
}
}
diff --git a/src/buildtool/execution_api/utils/outputscheck.hpp b/src/buildtool/execution_api/utils/outputscheck.hpp
index 4719d2d6..da20ee90 100644
--- a/src/buildtool/execution_api/utils/outputscheck.hpp
+++ b/src/buildtool/execution_api/utils/outputscheck.hpp
@@ -22,6 +22,7 @@
#include <string>
#include <vector>
+#include "google/protobuf/repeated_ptr_field.h"
#include "src/buildtool/common/bazel_types.hpp"
[[nodiscard]] static inline auto ActionResultContainsExpectedOutputs(
diff --git a/src/buildtool/execution_api/utils/subobject.cpp b/src/buildtool/execution_api/utils/subobject.cpp
index 912e2d4f..106e8859 100644
--- a/src/buildtool/execution_api/utils/subobject.cpp
+++ b/src/buildtool/execution_api/utils/subobject.cpp
@@ -15,13 +15,19 @@
#include "src/buildtool/execution_api/utils/subobject.hpp"
#ifndef BOOTSTRAP_BUILD_TOOL
+#include <functional>
+#include <memory>
#include <utility>
+#include "gsl/gsl"
+#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/common/protocol_traits.hpp"
#include "src/buildtool/crypto/hash_function.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/execution_api/common/execution_api.hpp"
#include "src/buildtool/execution_api/common/tree_reader_utils.hpp"
+#include "src/buildtool/file_system/git_repo.hpp"
+#include "src/buildtool/file_system/object_type.hpp"
#include "src/buildtool/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"