summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/execution_api/local/local_action.cpp2
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp6
-rw-r--r--src/buildtool/execution_api/local/local_cas_reader.hpp5
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network.cpp2
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network_reader.cpp7
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network_reader.hpp6
6 files changed, 17 insertions, 11 deletions
diff --git a/src/buildtool/execution_api/local/local_action.cpp b/src/buildtool/execution_api/local/local_action.cpp
index 94d98d6b..955e6724 100644
--- a/src/buildtool/execution_api/local/local_action.cpp
+++ b/src/buildtool/execution_api/local/local_action.cpp
@@ -291,7 +291,7 @@ auto LocalAction::StageInputs(
if (FileSystemManager::IsRelativePath(exec_path)) {
return false;
}
- auto reader = TreeReader<LocalCasReader>{storage_.CAS()};
+ auto reader = TreeReader<LocalCasReader>{&storage_.CAS()};
auto result = reader.RecursivelyReadTreeLeafs(
root_digest_, exec_path, /*include_trees=*/true);
if (not result) {
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index 6f43dd44..bfa1d6c6 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -95,7 +95,7 @@ class LocalApi final : public IExecutionApi {
auto const& info = artifacts_info[i];
if (IsTreeObject(info.type)) {
// read object infos from sub tree and call retrieve recursively
- auto reader = TreeReader<LocalCasReader>{storage_.CAS()};
+ auto reader = TreeReader<LocalCasReader>{&storage_.CAS()};
auto const result = reader.RecursivelyReadTreeLeafs(
info.digest, output_paths[i]);
if (not result) {
@@ -149,7 +149,7 @@ class LocalApi final : public IExecutionApi {
std::vector<Artifact::ObjectInfo> const& artifacts_info,
std::vector<int> const& fds,
bool raw_tree) const noexcept -> bool final {
- auto dumper = StreamDumper<LocalCasReader>{storage_.CAS()};
+ auto dumper = StreamDumper<LocalCasReader>{&storage_.CAS()};
return CommonRetrieveToFds(
artifacts_info,
fds,
@@ -202,7 +202,7 @@ class LocalApi final : public IExecutionApi {
auto const& info = missing_artifacts_info->back_map[dgst];
// Recursively process trees.
if (IsTreeObject(info.type)) {
- auto reader = TreeReader<LocalCasReader>{storage_.CAS()};
+ auto reader = TreeReader<LocalCasReader>{&storage_.CAS()};
auto const& result = reader.ReadDirectTreeEntries(
info.digest, std::filesystem::path{});
if (not result or not RetrieveToCas(result->infos, api)) {
diff --git a/src/buildtool/execution_api/local/local_cas_reader.hpp b/src/buildtool/execution_api/local/local_cas_reader.hpp
index 9618dbc4..64a1a51e 100644
--- a/src/buildtool/execution_api/local/local_cas_reader.hpp
+++ b/src/buildtool/execution_api/local/local_cas_reader.hpp
@@ -20,6 +20,7 @@
#include <optional>
#include <string>
+#include "gsl/gsl"
#include "src/buildtool/common/artifact.hpp"
#include "src/buildtool/common/artifact_digest.hpp"
#include "src/buildtool/common/bazel_types.hpp"
@@ -30,7 +31,9 @@ class LocalCasReader final {
public:
using DumpCallback = std::function<bool(std::string const&)>;
- explicit LocalCasReader(LocalCAS<true> const& cas) noexcept : cas_(cas) {}
+ explicit LocalCasReader(
+ gsl::not_null<LocalCAS<true> const*> const& cas) noexcept
+ : cas_(*cas) {}
[[nodiscard]] auto ReadDirectory(ArtifactDigest const& digest)
const noexcept -> std::optional<bazel_re::Directory>;
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
index 6094888d..34ae6af4 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
@@ -136,7 +136,7 @@ auto BazelNetwork::ExecuteBazelActionSync(
}
auto BazelNetwork::CreateReader() const noexcept -> BazelNetworkReader {
- return BazelNetworkReader{instance_name_, *cas_};
+ return BazelNetworkReader{instance_name_, cas_.get()};
}
auto BazelNetwork::GetCachedActionResult(
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network_reader.cpp b/src/buildtool/execution_api/remote/bazel/bazel_network_reader.cpp
index d945fdb3..9f4c34c8 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network_reader.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network_reader.cpp
@@ -24,9 +24,10 @@
#include "src/buildtool/logging/logger.hpp"
#include "src/utils/cpp/path.hpp"
-BazelNetworkReader::BazelNetworkReader(std::string instance_name,
- BazelCasClient const& cas) noexcept
- : instance_name_{std::move(instance_name)}, cas_(cas) {}
+BazelNetworkReader::BazelNetworkReader(
+ std::string instance_name,
+ gsl::not_null<BazelCasClient const*> const& cas) noexcept
+ : instance_name_{std::move(instance_name)}, cas_(*cas) {}
BazelNetworkReader::BazelNetworkReader(
BazelNetworkReader&& other,
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network_reader.hpp b/src/buildtool/execution_api/remote/bazel/bazel_network_reader.hpp
index 9f1fbef2..2955fa57 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network_reader.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network_reader.hpp
@@ -24,6 +24,7 @@
#include <unordered_map>
#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"
@@ -38,8 +39,9 @@ class BazelNetworkReader final {
public:
using DumpCallback = std::function<bool(std::string const&)>;
- BazelNetworkReader(std::string instance_name,
- BazelCasClient const& cas) noexcept;
+ explicit BazelNetworkReader(
+ std::string instance_name,
+ gsl::not_null<BazelCasClient const*> const& cas) noexcept;
BazelNetworkReader(
BazelNetworkReader&& other,