diff options
Diffstat (limited to 'src/buildtool/execution_api')
-rw-r--r-- | src/buildtool/execution_api/local/local_ac.hpp | 6 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_cas.hpp | 8 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/buildtool/execution_api/local/local_ac.hpp b/src/buildtool/execution_api/local/local_ac.hpp index 08f384d8..c9659494 100644 --- a/src/buildtool/execution_api/local/local_ac.hpp +++ b/src/buildtool/execution_api/local/local_ac.hpp @@ -27,12 +27,14 @@ class LocalAC { auto bytes = result.SerializeAsString(); auto digest = cas_->StoreBlobFromBytes(bytes); return (digest and file_store_.AddFromBytes( - action_id.hash(), digest->SerializeAsString())); + NativeSupport::Unprefix(action_id.hash()), + digest->SerializeAsString())); } [[nodiscard]] auto CachedResult(bazel_re::Digest const& action_id) const noexcept -> std::optional<bazel_re::ActionResult> { - auto entry_path = file_store_.GetPath(action_id.hash()); + auto entry_path = + file_store_.GetPath(NativeSupport::Unprefix(action_id.hash())); bazel_re::Digest digest{}; auto const entry = FileSystemManager::ReadFile(entry_path, ObjectType::File); diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index 03f116a8..20886e5a 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -140,7 +140,7 @@ class LocalApi final : public IExecutionApi { } if (tree_map_->AddTree(*digest, std::move(tree))) { - return ArtifactDigest{std::move(*digest)}; + return ArtifactDigest{*digest}; } return std::nullopt; } diff --git a/src/buildtool/execution_api/local/local_cas.hpp b/src/buildtool/execution_api/local/local_cas.hpp index f8efbb6a..310a3011 100644 --- a/src/buildtool/execution_api/local/local_cas.hpp +++ b/src/buildtool/execution_api/local/local_cas.hpp @@ -41,11 +41,12 @@ class LocalCAS { [[nodiscard]] auto BlobPath(bazel_re::Digest const& digest) const noexcept -> std::optional<std::filesystem::path> { - auto blob_path = file_store_.GetPath(digest.hash()); + auto id = NativeSupport::Unprefix(digest.hash()); + auto blob_path = file_store_.GetPath(id); if (FileSystemManager::IsFile(blob_path)) { return blob_path; } - logger_.Emit(LogLevel::Debug, "Blob not found {}", digest.hash()); + logger_.Emit(LogLevel::Debug, "Blob not found {}", id); return std::nullopt; } @@ -90,7 +91,8 @@ class LocalCAS { -> std::optional<bazel_re::Digest> { auto digest = CreateDigest(data); if (digest) { - if (StoreBlobData(digest->hash(), data, is_owner)) { + if (StoreBlobData( + NativeSupport::Unprefix(digest->hash()), data, is_owner)) { return digest; } logger_.Emit( |