diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/execution_api/utils/TARGETS | 3 | ||||
-rw-r--r-- | src/buildtool/execution_api/utils/subobject.cpp | 9 | ||||
-rw-r--r-- | src/buildtool/execution_api/utils/subobject.hpp | 8 | ||||
-rw-r--r-- | src/buildtool/graph_traverser/graph_traverser.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/main/install_cas.cpp | 2 |
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; } |