summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/local/local_api.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/local/local_api.hpp')
-rw-r--r--src/buildtool/execution_api/local/local_api.hpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp
index e564d72f..7ba26b3d 100644
--- a/src/buildtool/execution_api/local/local_api.hpp
+++ b/src/buildtool/execution_api/local/local_api.hpp
@@ -263,17 +263,17 @@ class LocalApi final : public IExecutionApi {
[[nodiscard]] auto Upload(ArtifactBlobContainer&& blobs,
bool /*skip_find_missing*/) const noexcept
-> bool final {
- for (auto const& blob : blobs.Blobs()) {
- auto const cas_digest =
- blob.digest.IsTree()
- ? local_context_.storage->CAS().StoreTree(*blob.data)
- : local_context_.storage->CAS().StoreBlob(*blob.data,
- blob.is_exec);
- if (not cas_digest or *cas_digest != blob.digest) {
- return false;
- }
- }
- return true;
+ auto const range = blobs.Blobs();
+ return std::all_of(
+ range.begin(),
+ range.end(),
+ [&cas = local_context_.storage->CAS()](ArtifactBlob const& blob) {
+ auto const cas_digest =
+ blob.digest.IsTree()
+ ? cas.StoreTree(*blob.data)
+ : cas.StoreBlob(*blob.data, blob.is_exec);
+ return cas_digest and *cas_digest == blob.digest;
+ });
}
[[nodiscard]] auto UploadTree(