diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-12 10:32:43 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-13 14:41:00 +0200 |
commit | fea1ff32426656e89aea9fd36dc9031367c29184 (patch) | |
tree | 7d42b15ae7db632814bc165a0e822fc84ef6e206 /src/buildtool/execution_api/utils/subobject.cpp | |
parent | 0e472f5cfbcfde7edb968ae39daa935dee9bb27b (diff) | |
download | justbuild-fea1ff32426656e89aea9fd36dc9031367c29184.tar.gz |
Pass ApiBundle to RetrieveSubPathId
...to get access to the protocol type.
Diffstat (limited to 'src/buildtool/execution_api/utils/subobject.cpp')
-rw-r--r-- | src/buildtool/execution_api/utils/subobject.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
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 |