diff options
author | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-02 17:55:35 +0200 |
---|---|---|
committer | Maksim Denisov <denisov.maksim@huawei.com> | 2024-09-09 13:07:13 +0200 |
commit | 56f91aac0c25e6e80dbaae087227502312accee6 (patch) | |
tree | 98996ba1159a492d2ec7e0a0d8116722215e36f1 /src/buildtool/execution_api/remote | |
parent | e8d9f711ab3bc67c2ee64fae427b45b63dc47284 (diff) | |
download | justbuild-56f91aac0c25e6e80dbaae087227502312accee6.tar.gz |
Return ArtifactDigest from CreateActionDigestFromCommandLine
Diffstat (limited to 'src/buildtool/execution_api/remote')
4 files changed, 23 insertions, 17 deletions
diff --git a/src/buildtool/execution_api/remote/TARGETS b/src/buildtool/execution_api/remote/TARGETS index e415ce1c..4bee7a7e 100644 --- a/src/buildtool/execution_api/remote/TARGETS +++ b/src/buildtool/execution_api/remote/TARGETS @@ -28,6 +28,7 @@ , ["src/buildtool/execution_api/common", "common"] , ["src/buildtool/execution_api/common", "artifact_blob_container"] , ["@", "gsl", "", "gsl"] + , ["src/buildtool/common", "common"] , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/execution_api/bazel_msg", "bazel_msg"] , ["src/buildtool/execution_api/bazel_msg", "bazel_msg_factory"] @@ -46,8 +47,7 @@ ] , "stage": ["src", "buildtool", "execution_api", "remote"] , "private-deps": - [ ["src/buildtool/common", "common"] - , ["src/buildtool/common", "artifact_digest_factory"] + [ ["src/buildtool/common", "artifact_digest_factory"] , ["src/buildtool/common", "bazel_digest_factory"] , ["src/buildtool/file_system", "file_system_manager"] , ["src/buildtool/file_system", "object_type"] diff --git a/src/buildtool/execution_api/remote/bazel/bazel_action.cpp b/src/buildtool/execution_api/remote/bazel/bazel_action.cpp index dcbddb8d..15ca949f 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_action.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_action.cpp @@ -16,6 +16,7 @@ #include <utility> // std::move +#include "src/buildtool/common/artifact_digest_factory.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp" #include "src/buildtool/execution_api/remote/bazel/bazel_response.hpp" @@ -24,7 +25,7 @@ BazelAction::BazelAction( std::shared_ptr<BazelNetwork> network, - bazel_re::Digest root_digest, + ArtifactDigest root_digest, std::vector<std::string> command, std::string cwd, std::vector<std::string> output_files, @@ -112,7 +113,7 @@ auto BazelAction::Execute(Logger const* logger) noexcept } auto BazelAction::CreateBundlesForAction(BazelBlobContainer* blobs, - bazel_re::Digest const& exec_dir, + ArtifactDigest const& exec_dir, bool do_not_cache) const noexcept -> std::optional<bazel_re::Digest> { using StoreFunc = BazelMsgFactory::ActionDigestRequest::BlobStoreFunc; @@ -134,5 +135,10 @@ auto BazelAction::CreateBundlesForAction(BazelBlobContainer* blobs, .timeout = timeout_, .skip_action_cache = do_not_cache, .store_blob = std::move(store_blob)}; - return BazelMsgFactory::CreateActionDigestFromCommandLine(request); + auto const action_digest = + BazelMsgFactory::CreateActionDigestFromCommandLine(request); + if (not action_digest) { + return std::nullopt; + } + return ArtifactDigestFactory::ToBazel(*action_digest); } diff --git a/src/buildtool/execution_api/remote/bazel/bazel_action.hpp b/src/buildtool/execution_api/remote/bazel/bazel_action.hpp index 7bf62a45..c990cc8e 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_action.hpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_action.hpp @@ -21,6 +21,7 @@ #include <string> #include <vector> +#include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/bazel_types.hpp" #include "src/buildtool/execution_api/common/execution_action.hpp" #include "src/buildtool/execution_api/remote/bazel/bazel_network.hpp" @@ -42,7 +43,7 @@ class BazelAction final : public IExecutionAction { private: std::shared_ptr<BazelNetwork> const network_; - bazel_re::Digest const root_digest_; + ArtifactDigest const root_digest_; std::vector<std::string> const cmdline_; std::string const cwd_; std::vector<std::string> output_files_; @@ -54,7 +55,7 @@ class BazelAction final : public IExecutionAction { explicit BazelAction( std::shared_ptr<BazelNetwork> network, - bazel_re::Digest root_digest, + ArtifactDigest root_digest, std::vector<std::string> command, std::string cwd, std::vector<std::string> output_files, @@ -63,7 +64,7 @@ class BazelAction final : public IExecutionAction { std::map<std::string, std::string> const& properties) noexcept; [[nodiscard]] auto CreateBundlesForAction(BazelBlobContainer* blobs, - bazel_re::Digest const& exec_dir, + ArtifactDigest const& exec_dir, bool do_not_cache) const noexcept -> std::optional<bazel_re::Digest>; }; diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp index ee672503..cb4ca14b 100644 --- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp +++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp @@ -213,15 +213,14 @@ auto BazelApi::CreateAction( std::map<std::string, std::string> const& env_vars, std::map<std::string, std::string> const& properties) const noexcept -> IExecutionAction::Ptr { - return std::unique_ptr<BazelAction>{ - new BazelAction{network_, - static_cast<bazel_re::Digest>(root_digest), - command, - cwd, - output_files, - output_dirs, - env_vars, - properties}}; + return std::unique_ptr<BazelAction>{new BazelAction{network_, + root_digest, + command, + cwd, + output_files, + output_dirs, + env_vars, + properties}}; } // NOLINTNEXTLINE(misc-no-recursion, google-default-arguments) |