diff options
Diffstat (limited to 'src/buildtool/execution_api/remote')
3 files changed, 7 insertions, 4 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp index a192737f..ce25c51c 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -219,7 +219,9 @@ auto BazelApi::CreateAction( } for (auto& blob : blobs) { try { - container.Emplace(std::move(blob)); + auto exec = IsExecutableObject( + info_map[ArtifactDigest{blob.digest}].type); + container.Emplace(BazelBlob{blob.digest, blob.data, exec}); } catch (std::exception const& ex) { Logger::Log( LogLevel::Error, "failed to emplace blob: ", ex.what()); diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp index 232c5c08..6dd2e9e3 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp @@ -95,7 +95,7 @@ auto BazelCasClient::BatchReadBlobs( response, [](std::vector<BazelBlob>* v, bazel_re::BatchReadBlobsResponse_Response const& r) { - v->emplace_back(r.digest(), r.data()); + v->emplace_back(r.digest(), r.data(), /*is_exec=*/false); }); } else { @@ -189,7 +189,8 @@ auto BazelCasClient::ReadSingleBlob(std::string const& instance_name, digest.hash(), real_digest.hash()); } - return BazelBlob{std::move(real_digest), std::move(*data)}; + return BazelBlob{ + std::move(real_digest), std::move(*data), /*is_exec=*/false}; } return std::nullopt; } diff --git a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp index 615c0177..ddebd648 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_response.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_response.cpp @@ -25,7 +25,7 @@ auto ProcessDirectoryMessage(bazel_re::Directory const& dir) noexcept -> std::optional<BazelBlob> { auto data = dir.SerializeAsString(); auto digest = ArtifactDigest::Create<ObjectType::File>(data); - return BazelBlob{std::move(digest), std::move(data)}; + return BazelBlob{std::move(digest), std::move(data), /*is_exec=*/false}; } } // namespace |