summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-09-02 17:55:35 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-09-09 13:07:13 +0200
commit56f91aac0c25e6e80dbaae087227502312accee6 (patch)
tree98996ba1159a492d2ec7e0a0d8116722215e36f1 /src/buildtool/execution_api/remote
parente8d9f711ab3bc67c2ee64fae427b45b63dc47284 (diff)
downloadjustbuild-56f91aac0c25e6e80dbaae087227502312accee6.tar.gz
Return ArtifactDigest from CreateActionDigestFromCommandLine
Diffstat (limited to 'src/buildtool/execution_api/remote')
-rw-r--r--src/buildtool/execution_api/remote/TARGETS4
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_action.cpp12
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_action.hpp7
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.cpp17
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)