summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/buildtool/execution_api/utils/TARGETS3
-rw-r--r--src/buildtool/execution_api/utils/subobject.cpp9
-rw-r--r--src/buildtool/execution_api/utils/subobject.hpp8
-rw-r--r--src/buildtool/graph_traverser/graph_traverser.hpp2
-rw-r--r--src/buildtool/main/install_cas.cpp2
5 files changed, 13 insertions, 11 deletions
diff --git a/src/buildtool/execution_api/utils/TARGETS b/src/buildtool/execution_api/utils/TARGETS
index cc30421d..3235225d 100644
--- a/src/buildtool/execution_api/utils/TARGETS
+++ b/src/buildtool/execution_api/utils/TARGETS
@@ -5,10 +5,11 @@
, "srcs": ["subobject.cpp"]
, "deps":
[ ["src/buildtool/common", "common"]
- , ["src/buildtool/execution_api/common", "common"]
+ , ["src/buildtool/execution_api/common", "api_bundle"]
]
, "private-deps":
[ ["src/buildtool/common", "protocol_traits"]
+ , ["src/buildtool/execution_api/common", "common"]
, ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"]
, ["src/buildtool/logging", "logging"]
, ["src/buildtool/crypto", "hash_function"]
diff --git a/src/buildtool/execution_api/utils/subobject.cpp b/src/buildtool/execution_api/utils/subobject.cpp
index e2c6b256..0029a9f3 100644
--- a/src/buildtool/execution_api/utils/subobject.cpp
+++ b/src/buildtool/execution_api/utils/subobject.cpp
@@ -18,12 +18,13 @@
#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/logging/log_level.hpp"
#include "src/buildtool/logging/logger.hpp"
auto RetrieveSubPathId(Artifact::ObjectInfo object_info,
- IExecutionApi const& api,
+ ApiBundle const& apis,
const std::filesystem::path& sub_path)
-> std::optional<Artifact::ObjectInfo> {
std::filesystem::path sofar{};
@@ -35,7 +36,7 @@ auto RetrieveSubPathId(Artifact::ObjectInfo object_info,
segment.string());
break;
}
- auto data = api.RetrieveToMemory(object_info);
+ auto data = apis.remote->RetrieveToMemory(object_info);
if (not data) {
Logger::Log(LogLevel::Error,
"Failed to retrieve artifact {} at path '{}'",
@@ -43,7 +44,7 @@ auto RetrieveSubPathId(Artifact::ObjectInfo object_info,
sofar.string());
return std::nullopt;
}
- if (ProtocolTraits::Instance().IsCompatible()) {
+ if (not ProtocolTraits::IsNative(apis.hash_function.GetType())) {
auto directory =
BazelMsgFactory::MessageFromString<bazel_re::Directory>(*data);
if (not directory) {
@@ -121,4 +122,4 @@ auto RetrieveSubPathId(Artifact::ObjectInfo object_info,
return object_info;
}
-#endif
+#endif // BOOTSTRAP_BUILD_TOOL
diff --git a/src/buildtool/execution_api/utils/subobject.hpp b/src/buildtool/execution_api/utils/subobject.hpp
index c5cee935..e2a8f46b 100644
--- a/src/buildtool/execution_api/utils/subobject.hpp
+++ b/src/buildtool/execution_api/utils/subobject.hpp
@@ -21,13 +21,13 @@
#include <optional>
#include "src/buildtool/common/artifact.hpp"
-#include "src/buildtool/execution_api/common/execution_api.hpp"
+#include "src/buildtool/execution_api/common/api_bundle.hpp"
auto RetrieveSubPathId(Artifact::ObjectInfo object_info,
- IExecutionApi const& api,
+ ApiBundle const& apis,
const std::filesystem::path& sub_path)
-> std::optional<Artifact::ObjectInfo>;
-#endif
+#endif // BOOTSTRAP_BUILD_TOOL
-#endif
+#endif // INCLUDED_SRC_BUILDTOOL_EXECUTION_API_UTILS_SUBOBJECT_HPP
diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp
index b62bd08a..ea2f594e 100644
--- a/src/buildtool/graph_traverser/graph_traverser.hpp
+++ b/src/buildtool/graph_traverser/graph_traverser.hpp
@@ -687,7 +687,7 @@ class GraphTraverser {
auto info = artifacts[i]->Content().Info();
if (info) {
auto new_info =
- RetrieveSubPathId(*info, remote, relpath);
+ RetrieveSubPathId(*info, *context_.apis, relpath);
if (new_info) {
if (not remote.RetrieveToFds({*new_info},
{dup(fileno(stdout))},
diff --git a/src/buildtool/main/install_cas.cpp b/src/buildtool/main/install_cas.cpp
index 288a0f5c..bac3556b 100644
--- a/src/buildtool/main/install_cas.cpp
+++ b/src/buildtool/main/install_cas.cpp
@@ -103,7 +103,7 @@ auto FetchAndInstallArtifacts(ApiBundle const& apis,
if (clargs.sub_path) {
auto new_object_info =
- RetrieveSubPathId(*object_info, *apis.remote, *clargs.sub_path);
+ RetrieveSubPathId(*object_info, apis, *clargs.sub_path);
if (new_object_info) {
object_info = new_object_info;
}