summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api')
-rw-r--r--src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp3
-rw-r--r--src/buildtool/execution_api/common/artifact_blob_container.hpp3
-rw-r--r--src/buildtool/execution_api/common/common_api.cpp10
-rw-r--r--src/buildtool/execution_api/common/execution_api.hpp2
-rw-r--r--src/buildtool/execution_api/git/git_api.hpp11
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp6
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.cpp8
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.hpp2
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_response.cpp5
-rw-r--r--src/buildtool/execution_api/serve/mr_git_api.hpp2
-rw-r--r--src/buildtool/execution_api/serve/mr_local_api.cpp2
-rw-r--r--src/buildtool/execution_api/serve/mr_local_api.hpp2
12 files changed, 26 insertions, 30 deletions
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 9ac738d6..c46b1399 100644
--- a/src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp
+++ b/src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp
@@ -15,12 +15,9 @@
#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 <unordered_set>
-
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/execution_api/common/content_blob_container.hpp"
using BazelBlob = ContentBlob<bazel_re::Digest>;
-using BazelBlobContainer = std::unordered_set<BazelBlob>;
#endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_BAZEL_MSG_BAZEL_BLOB_CONTAINER_HPP
diff --git a/src/buildtool/execution_api/common/artifact_blob_container.hpp b/src/buildtool/execution_api/common/artifact_blob_container.hpp
index 76b0692e..7aea21ab 100644
--- a/src/buildtool/execution_api/common/artifact_blob_container.hpp
+++ b/src/buildtool/execution_api/common/artifact_blob_container.hpp
@@ -15,12 +15,9 @@
#ifndef INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_ARTIFACT_BLOB_CONTAINER_HPP
#define INCLUDED_SRC_BUILDTOOL_EXECUTION_API_COMMON_ARTIFACT_BLOB_CONTAINER_HPP
-#include <unordered_set>
-
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/execution_api/common/content_blob_container.hpp"
using ArtifactBlob = ContentBlob<ArtifactDigest>;
-using ArtifactBlobContainer = std::unordered_set<ArtifactBlob>;
#endif // INCLUDED_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 41f71a07..8bd8f0e0 100644
--- a/src/buildtool/execution_api/common/common_api.cpp
+++ b/src/buildtool/execution_api/common/common_api.cpp
@@ -110,7 +110,7 @@ auto CommonUploadBlobTree(BlobTreePtr const& blob_tree,
}
// Process missing blobs.
- ArtifactBlobContainer container;
+ std::unordered_set<ArtifactBlob> container;
for (auto const& digest : missing_blobs_info->digests) {
if (auto it = missing_blobs_info->back_map.find(digest);
it != missing_blobs_info->back_map.end()) {
@@ -127,7 +127,7 @@ auto CommonUploadBlobTree(BlobTreePtr const& blob_tree,
&container,
node->Blob(),
/*exception_is_fatal=*/false,
- [&api](ArtifactBlobContainer&& blobs) -> bool {
+ [&api](std::unordered_set<ArtifactBlob>&& blobs) -> bool {
return api.Upload(std::move(blobs),
/*skip_find_missing=*/true);
})) {
@@ -144,7 +144,7 @@ auto CommonUploadTreeCompatible(
DirectoryTreePtr const& build_root,
BazelMsgFactory::LinkDigestResolveFunc const& resolve_links) noexcept
-> std::optional<ArtifactDigest> {
- ArtifactBlobContainer blobs{};
+ std::unordered_set<ArtifactBlob> blobs{};
// Store and upload blobs, taking into account the maximum transfer size.
auto digest = BazelMsgFactory::CreateDirectoryDigestFromTree(
build_root, resolve_links, [&blobs, &api](ArtifactBlob&& blob) {
@@ -152,7 +152,7 @@ auto CommonUploadTreeCompatible(
&blobs,
std::move(blob),
/*exception_is_fatal=*/false,
- [&api](ArtifactBlobContainer&& container) -> bool {
+ [&api](std::unordered_set<ArtifactBlob>&& container) -> bool {
return api.Upload(std::move(container),
/*skip_find_missing=*/false);
});
@@ -193,7 +193,7 @@ auto CommonUploadTreeNative(IExecutionApi const& api,
"failed to upload blob tree for build root.");
return std::nullopt;
}
- if (not api.Upload(ArtifactBlobContainer{{tree_blob}},
+ if (not api.Upload({tree_blob},
/*skip_find_missing=*/true)) {
Logger::Log(LogLevel::Debug,
"failed to upload tree blob for build root.");
diff --git a/src/buildtool/execution_api/common/execution_api.hpp b/src/buildtool/execution_api/common/execution_api.hpp
index f0ea0e4e..1d4f0d5d 100644
--- a/src/buildtool/execution_api/common/execution_api.hpp
+++ b/src/buildtool/execution_api/common/execution_api.hpp
@@ -119,7 +119,7 @@ class IExecutionApi {
/// \param skip_find_missing Skip finding missing blobs, just upload all.
/// NOLINTNEXTLINE(google-default-arguments)
[[nodiscard]] virtual auto Upload(
- ArtifactBlobContainer&& blobs,
+ std::unordered_set<ArtifactBlob>&& blobs,
bool skip_find_missing = false) const noexcept -> bool = 0;
[[nodiscard]] virtual auto UploadTree(
diff --git a/src/buildtool/execution_api/git/git_api.hpp b/src/buildtool/execution_api/git/git_api.hpp
index 5defc50a..55bdaabe 100644
--- a/src/buildtool/execution_api/git/git_api.hpp
+++ b/src/buildtool/execution_api/git/git_api.hpp
@@ -214,7 +214,7 @@ class GitApi final : public IExecutionApi {
// Collect blobs of missing artifacts from local CAS. Trees are
// processed recursively before any blob is uploaded.
- ArtifactBlobContainer container{};
+ std::unordered_set<ArtifactBlob> container;
for (auto const& dgst : missing_artifacts_info->digests) {
auto const& info = missing_artifacts_info->back_map[dgst];
std::optional<std::string> content;
@@ -225,7 +225,7 @@ class GitApi final : public IExecutionApi {
if (not tree) {
return false;
}
- ArtifactBlobContainer tree_deps_only_blobs{};
+ std::unordered_set<ArtifactBlob> tree_deps_only_blobs;
for (auto const& [path, entry] : *tree) {
if (entry->IsTree()) {
auto digest = ToArtifactDigest(*entry);
@@ -254,7 +254,8 @@ class GitApi final : public IExecutionApi {
*entry_content,
IsExecutableObject(entry->Type())},
/*exception_is_fatal=*/true,
- [&api](ArtifactBlobContainer&& blobs) -> bool {
+ [&api](std::unordered_set<ArtifactBlob>&& blobs)
+ -> bool {
return api.Upload(std::move(blobs));
})) {
return false;
@@ -288,7 +289,7 @@ class GitApi final : public IExecutionApi {
std::move(*content),
IsExecutableObject(info.type)},
/*exception_is_fatal=*/true,
- [&api](ArtifactBlobContainer&& blobs) {
+ [&api](std::unordered_set<ArtifactBlob>&& blobs) {
return api.Upload(std::move(blobs),
/*skip_find_missing=*/true);
})) {
@@ -307,7 +308,7 @@ class GitApi final : public IExecutionApi {
}
/// NOLINTNEXTLINE(google-default-arguments)
- [[nodiscard]] auto Upload(ArtifactBlobContainer&& /*blobs*/,
+ [[nodiscard]] auto Upload(std::unordered_set<ArtifactBlob>&& /*blobs*/,
bool /*skip_find_missing*/ = false) const noexcept
-> bool override {
// Upload to git cas not supported
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index 07bef457..c8877c52 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -164,7 +164,7 @@ class LocalApi final : public IExecutionApi {
// Collect blobs of missing artifacts from local CAS. Trees are
// processed recursively before any blob is uploaded.
- ArtifactBlobContainer container{};
+ std::unordered_set<ArtifactBlob> container;
for (auto const& dgst : missing_artifacts_info->digests) {
auto const& info = missing_artifacts_info->back_map[dgst];
// Recursively process trees.
@@ -212,7 +212,7 @@ class LocalApi final : public IExecutionApi {
*content,
IsExecutableObject(info.type)},
/*exception_is_fatal=*/true,
- [&api](ArtifactBlobContainer&& blobs) {
+ [&api](std::unordered_set<ArtifactBlob>&& blobs) {
return api.Upload(std::move(blobs),
/*skip_find_missing=*/true);
})) {
@@ -246,7 +246,7 @@ class LocalApi final : public IExecutionApi {
return content;
}
- [[nodiscard]] auto Upload(ArtifactBlobContainer&& blobs,
+ [[nodiscard]] auto Upload(std::unordered_set<ArtifactBlob>&& blobs,
bool /*skip_find_missing*/) const noexcept
-> bool final {
return std::all_of(
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
index 9c3de203..0bfacf3f 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
@@ -63,7 +63,7 @@ namespace {
auto size = digests.size();
auto reader = network->CreateReader();
std::size_t count{};
- ArtifactBlobContainer container{};
+ std::unordered_set<ArtifactBlob> container{};
for (auto blobs : reader.ReadIncrementally(digests)) {
if (count + blobs.size() > size) {
Logger::Log(LogLevel::Warning,
@@ -80,7 +80,7 @@ namespace {
&container,
std::move(blob),
/*exception_is_fatal=*/true,
- [&api](ArtifactBlobContainer&& blobs) {
+ [&api](std::unordered_set<ArtifactBlob>&& blobs) {
return api.Upload(std::move(blobs),
/*skip_find_missing=*/true);
})) {
@@ -139,7 +139,7 @@ namespace {
}
[[nodiscard]] auto ConvertToBazelBlobContainer(
- ArtifactBlobContainer&& container) noexcept
+ std::unordered_set<ArtifactBlob>&& container) noexcept
-> std::optional<std::unordered_set<BazelBlob>> {
std::unordered_set<BazelBlob> blobs;
try {
@@ -526,7 +526,7 @@ auto BazelApi::CreateAction(
return std::nullopt;
}
-[[nodiscard]] auto BazelApi::Upload(ArtifactBlobContainer&& blobs,
+[[nodiscard]] auto BazelApi::Upload(std::unordered_set<ArtifactBlob>&& blobs,
bool skip_find_missing) const noexcept
-> bool {
auto bazel_blobs = ConvertToBazelBlobContainer(std::move(blobs));
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.hpp b/src/buildtool/execution_api/remote/bazel/bazel_api.hpp
index 22680aac..ae7c2e57 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_api.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_api.hpp
@@ -91,7 +91,7 @@ class BazelApi final : public IExecutionApi {
std::vector<Artifact::ObjectInfo> const& artifacts_info,
IExecutionApi const& api) const noexcept -> bool final;
- [[nodiscard]] auto Upload(ArtifactBlobContainer&& blobs,
+ [[nodiscard]] auto Upload(std::unordered_set<ArtifactBlob>&& blobs,
bool skip_find_missing) const noexcept
-> bool final;
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
index 3aaecb88..2ea2ce1b 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp
@@ -20,6 +20,7 @@
#include <filesystem>
#include <functional>
#include <iterator>
+#include <unordered_set>
#include <vector>
#include "fmt/core.h"
@@ -275,11 +276,11 @@ auto BazelResponse::Populate() noexcept -> std::optional<std::string> {
auto BazelResponse::UploadTreeMessageDirectories(
bazel_re::Tree const& tree) const -> expected<ArtifactDigest, std::string> {
auto const upload_callback =
- [&network = *network_](BazelBlobContainer&& blobs) -> bool {
+ [&network = *network_](std::unordered_set<BazelBlob>&& blobs) -> bool {
return network.UploadBlobs(std::move(blobs));
};
auto const hash_function = network_->GetHashFunction();
- BazelBlobContainer dir_blobs{};
+ std::unordered_set<BazelBlob> dir_blobs{};
auto rootdir_blob = ProcessDirectoryMessage(hash_function, tree.root());
if (not rootdir_blob) {
diff --git a/src/buildtool/execution_api/serve/mr_git_api.hpp b/src/buildtool/execution_api/serve/mr_git_api.hpp
index dbcedb61..e66c475f 100644
--- a/src/buildtool/execution_api/serve/mr_git_api.hpp
+++ b/src/buildtool/execution_api/serve/mr_git_api.hpp
@@ -100,7 +100,7 @@ class MRGitApi final : public IExecutionApi {
/// \brief Not supported.
// NOLINTNEXTLINE(google-default-arguments)
- [[nodiscard]] auto Upload(ArtifactBlobContainer&& /*blobs*/,
+ [[nodiscard]] auto Upload(std::unordered_set<ArtifactBlob>&& /*blobs*/,
bool /*skip_find_missing*/ = false) const noexcept
-> bool final {
// Upload not suppoorted.
diff --git a/src/buildtool/execution_api/serve/mr_local_api.cpp b/src/buildtool/execution_api/serve/mr_local_api.cpp
index 0e2f61e1..d9364a4e 100644
--- a/src/buildtool/execution_api/serve/mr_local_api.cpp
+++ b/src/buildtool/execution_api/serve/mr_local_api.cpp
@@ -95,7 +95,7 @@ auto MRLocalApi::RetrieveToCas(
}
// NOLINTNEXTLINE(google-default-arguments)
-auto MRLocalApi::Upload(ArtifactBlobContainer&& blobs,
+auto MRLocalApi::Upload(std::unordered_set<ArtifactBlob>&& blobs,
bool skip_find_missing) const noexcept -> bool {
// in native mode, dispatch to native local api
if (compat_local_api_ == nullptr) {
diff --git a/src/buildtool/execution_api/serve/mr_local_api.hpp b/src/buildtool/execution_api/serve/mr_local_api.hpp
index a4f6e0b1..26600772 100644
--- a/src/buildtool/execution_api/serve/mr_local_api.hpp
+++ b/src/buildtool/execution_api/serve/mr_local_api.hpp
@@ -103,7 +103,7 @@ class MRLocalApi final : public IExecutionApi {
/// \note Caller is responsible for passing vectors with artifacts of the
/// same digest type.
// NOLINTNEXTLINE(google-default-arguments)
- [[nodiscard]] auto Upload(ArtifactBlobContainer&& blobs,
+ [[nodiscard]] auto Upload(std::unordered_set<ArtifactBlob>&& blobs,
bool skip_find_missing = false) const noexcept
-> bool final;