summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/local
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/execution_api/local')
-rw-r--r--src/buildtool/execution_api/local/TARGETS2
-rw-r--r--src/buildtool/execution_api/local/local_action.cpp14
-rw-r--r--src/buildtool/execution_api/local/local_action.hpp7
3 files changed, 11 insertions, 12 deletions
diff --git a/src/buildtool/execution_api/local/TARGETS b/src/buildtool/execution_api/local/TARGETS
index 61992aef..32d04697 100644
--- a/src/buildtool/execution_api/local/TARGETS
+++ b/src/buildtool/execution_api/local/TARGETS
@@ -27,6 +27,7 @@
, ["@", "grpc", "", "grpc++"]
, "context"
, ["src/buildtool/common", "common"]
+ , ["src/buildtool/common", "bazel_types"]
, ["src/buildtool/common", "artifact_digest_factory"]
, ["src/buildtool/common", "config"]
, ["src/buildtool/storage", "storage"]
@@ -49,7 +50,6 @@
, "private-deps":
[ ["src/buildtool/file_system", "object_type"]
, ["src/buildtool/system", "system_command"]
- , ["src/buildtool/common", "bazel_types"]
, ["src/buildtool/file_system", "file_system_manager"]
, ["src/buildtool/execution_api/utils", "outputscheck"]
, ["src/buildtool/crypto", "hash_function"]
diff --git a/src/buildtool/execution_api/local/local_action.cpp b/src/buildtool/execution_api/local/local_action.cpp
index 4a2dcfbc..2c79b32e 100644
--- a/src/buildtool/execution_api/local/local_action.cpp
+++ b/src/buildtool/execution_api/local/local_action.cpp
@@ -21,8 +21,6 @@
#include <system_error>
#include <utility>
-#include "src/buildtool/common/artifact_digest.hpp"
-#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/compatibility/native_support.hpp"
#include "src/buildtool/execution_api/common/tree_reader.hpp"
#include "src/buildtool/execution_api/local/local_cas_reader.hpp"
@@ -85,7 +83,7 @@ auto LocalAction::Execute(Logger const* logger) noexcept
-> IExecutionResponse::Ptr {
auto do_cache = CacheEnabled(cache_flag_);
- auto action = CreateActionDigest(root_digest_, not do_cache);
+ auto const action = CreateActionDigest(root_digest_, not do_cache);
if (not action) {
if (logger != nullptr) {
logger->Emit(LogLevel::Error,
@@ -101,13 +99,12 @@ auto LocalAction::Execute(Logger const* logger) noexcept
" - exec_dir digest: {}\n"
" - action digest: {}",
root_digest_.hash(),
- NativeSupport::Unprefix(action->hash()));
+ action->hash());
}
if (do_cache) {
- ArtifactDigest const a_digest{*action};
if (auto result =
- local_context_.storage->ActionCache().CachedResult(a_digest)) {
+ local_context_.storage->ActionCache().CachedResult(*action)) {
if (result->exit_code() == 0 and
ActionResultContainsExpectedOutputs(
*result, output_files_, output_dirs_)) {
@@ -120,10 +117,11 @@ auto LocalAction::Execute(Logger const* logger) noexcept
}
if (ExecutionEnabled(cache_flag_)) {
- if (auto output = Run(*action)) {
+ if (auto output = Run(static_cast<bazel_re::Digest>(*action))) {
if (cache_flag_ == CacheFlag::PretendCached) {
// ensure the same id is created as if caching were enabled
- auto action_cached = CreateActionDigest(root_digest_, false);
+ auto const action_cached =
+ CreateActionDigest(root_digest_, false);
if (not action_cached) {
if (logger != nullptr) {
logger->Emit(
diff --git a/src/buildtool/execution_api/local/local_action.hpp b/src/buildtool/execution_api/local/local_action.hpp
index 8cc12aba..dedc2951 100644
--- a/src/buildtool/execution_api/local/local_action.hpp
+++ b/src/buildtool/execution_api/local/local_action.hpp
@@ -25,6 +25,8 @@
#include <vector>
#include "gsl/gsl"
+#include "src/buildtool/common/artifact_digest.hpp"
+#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_msg_factory.hpp"
#include "src/buildtool/execution_api/common/execution_action.hpp"
#include "src/buildtool/execution_api/common/execution_response.hpp"
@@ -97,11 +99,10 @@ class LocalAction final : public IExecutionAction {
[[nodiscard]] auto CreateActionDigest(ArtifactDigest const& exec_dir,
bool do_not_cache)
- -> std::optional<bazel_re::Digest> {
+ -> std::optional<ArtifactDigest> {
auto const env_vars = BazelMsgFactory::CreateMessageVectorFromMap<
bazel_re::Command_EnvironmentVariable>(env_vars_);
- auto const bazel_exec_dir = static_cast<bazel_re::Digest>(exec_dir);
BazelMsgFactory::ActionDigestRequest request{
.command_line = &cmdline_,
.cwd = &cwd_,
@@ -109,7 +110,7 @@ class LocalAction final : public IExecutionAction {
.output_dirs = &output_dirs_,
.env_vars = &env_vars,
.properties = &properties_,
- .exec_dir = &bazel_exec_dir,
+ .exec_dir = &exec_dir,
.hash_function = local_context_.storage_config->hash_function,
.timeout = timeout_,
.skip_action_cache = do_not_cache};