summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api')
-rw-r--r--src/buildtool/execution_api/local/local_ac.hpp6
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp2
-rw-r--r--src/buildtool/execution_api/local/local_cas.hpp8
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(