diff options
Diffstat (limited to 'src/buildtool/execution_api/local')
-rw-r--r-- | src/buildtool/execution_api/local/TARGETS | 2 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_action.cpp | 14 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_action.hpp | 7 |
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}; |