From 5057bd9e9a55fd8423ad7112086a3cafd3162e2c Mon Sep 17 00:00:00 2001 From: Maksim Denisov Date: Tue, 9 Jul 2024 14:36:54 +0200 Subject: Pack arguments of CreateActionDigestFromCommandLine to a struct --- .../execution_api/remote/bazel/bazel_action.cpp | 32 +++++++++++++--------- 1 file changed, 19 insertions(+), 13 deletions(-) (limited to 'src/buildtool/execution_api/remote/bazel/bazel_action.cpp') diff --git a/src/buildtool/execution_api/remote/bazel/bazel_action.cpp b/src/buildtool/execution_api/remote/bazel/bazel_action.cpp index f96f4774..74634838 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_action.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_action.cpp @@ -14,6 +14,7 @@ #include "src/buildtool/execution_api/remote/bazel/bazel_action.hpp" +#include #include // std::move #include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp" @@ -95,17 +96,22 @@ auto BazelAction::CreateBundlesForAction(BazelBlobContainer* blobs, bazel_re::Digest const& exec_dir, bool do_not_cache) const noexcept -> bazel_re::Digest { - return BazelMsgFactory::CreateActionDigestFromCommandLine( - cmdline_, - exec_dir, - output_files_, - output_dirs_, - env_vars_, - properties_, - do_not_cache, - timeout_, - blobs == nullptr ? std::nullopt - : std::make_optional([&blobs](BazelBlob&& blob) { - blobs->Emplace(std::move(blob)); - })); + using StoreFunc = BazelMsgFactory::ActionDigestRequest::BlobStoreFunc; + std::optional store_blob = std::nullopt; + if (blobs != nullptr) { + store_blob = [&blobs](BazelBlob&& blob) { + blobs->Emplace(std::move(blob)); + }; + } + BazelMsgFactory::ActionDigestRequest request{ + .command_line = &cmdline_, + .output_files = &output_files_, + .output_dirs = &output_dirs_, + .env_vars = &env_vars_, + .properties = &properties_, + .exec_dir = &exec_dir, + .timeout = timeout_, + .skip_action_cache = do_not_cache, + .store_blob = std::move(store_blob)}; + return BazelMsgFactory::CreateActionDigestFromCommandLine(request); } -- cgit v1.2.3