summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/common/common_api.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/common/common_api.cpp')
-rw-r--r--src/buildtool/execution_api/common/common_api.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/buildtool/execution_api/common/common_api.cpp b/src/buildtool/execution_api/common/common_api.cpp
index c3a13fd8..eac0a1f8 100644
--- a/src/buildtool/execution_api/common/common_api.cpp
+++ b/src/buildtool/execution_api/common/common_api.cpp
@@ -112,7 +112,10 @@ auto CommonUploadBlobTree(BlobTreePtr const& blob_tree,
}
// Store blob.
try {
- container.Emplace(node->Blob());
+ BazelBlob bazel_blob{node->Blob().digest,
+ node->Blob().data,
+ node->Blob().is_exec};
+ container.Emplace(std::move(bazel_blob));
} catch (...) {
return false;
}
@@ -161,18 +164,20 @@ auto CommonUploadTreeNative(gsl::not_null<IExecutionApi*> const& api,
auto tree_blob = (*blob_tree)->Blob();
// Upload blob tree if tree is not available at the remote side (content
// first).
- if (not api->IsAvailable(ArtifactDigest{tree_blob.digest})) {
+ if (not api->IsAvailable(tree_blob.digest)) {
if (not CommonUploadBlobTree(*blob_tree, api)) {
Logger::Log(LogLevel::Debug,
"failed to upload blob tree for build root.");
return std::nullopt;
}
- if (not api->Upload(BazelBlobContainer{{tree_blob}},
+ BazelBlob bazel_blob{
+ tree_blob.digest, tree_blob.data, tree_blob.is_exec};
+ if (not api->Upload(BazelBlobContainer{{bazel_blob}},
/*skip_find_missing=*/true)) {
Logger::Log(LogLevel::Debug,
"failed to upload tree blob for build root.");
return std::nullopt;
}
}
- return ArtifactDigest{tree_blob.digest};
+ return tree_blob.digest;
}