diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/execution_api/common/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/execution_api/common/api_bundle.cpp | 2 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/TARGETS | 2 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_action.cpp | 3 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_action.hpp | 4 | ||||
-rw-r--r-- | src/buildtool/execution_api/local/local_api.hpp | 12 |
6 files changed, 18 insertions, 6 deletions
diff --git a/src/buildtool/execution_api/common/TARGETS b/src/buildtool/execution_api/common/TARGETS index 579412d9..2e5d14dd 100644 --- a/src/buildtool/execution_api/common/TARGETS +++ b/src/buildtool/execution_api/common/TARGETS @@ -50,6 +50,7 @@ ] , "private-deps": [ ["src/buildtool/execution_api/bazel_msg", "bazel_msg"] + , ["src/buildtool/execution_api/local", "config"] , ["src/buildtool/execution_api/local", "local"] , ["src/buildtool/execution_api/remote", "bazel"] ] diff --git a/src/buildtool/execution_api/common/api_bundle.cpp b/src/buildtool/execution_api/common/api_bundle.cpp index 933ac1f3..411fb02f 100644 --- a/src/buildtool/execution_api/common/api_bundle.cpp +++ b/src/buildtool/execution_api/common/api_bundle.cpp @@ -15,6 +15,7 @@ #include "src/buildtool/execution_api/common/api_bundle.hpp" #include "src/buildtool/execution_api/bazel_msg/bazel_common.hpp" +#include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/execution_api/local/local_api.hpp" #include "src/buildtool/execution_api/remote/bazel/bazel_api.hpp" @@ -25,6 +26,7 @@ ApiBundle::ApiBundle(gsl::not_null<StorageConfig const*> const& storage_config, std::optional<ServerAddress> const& remote_address) : local{std::make_shared<LocalApi>(storage_config, storage, + &LocalExecutionConfig::Instance(), repo_config)}, // needed by remote auth{*authentication}, // needed by remote remote{CreateRemote(remote_address)} {} diff --git a/src/buildtool/execution_api/local/TARGETS b/src/buildtool/execution_api/local/TARGETS index da3e4432..2c848bf7 100644 --- a/src/buildtool/execution_api/local/TARGETS +++ b/src/buildtool/execution_api/local/TARGETS @@ -30,6 +30,7 @@ [ ["@", "fmt", "", "fmt"] , ["@", "gsl", "", "gsl"] , ["@", "grpc", "", "grpc++"] + , "config" , ["src/buildtool/common", "common"] , ["src/buildtool/common", "config"] , ["src/buildtool/storage", "storage"] @@ -51,7 +52,6 @@ , "private-deps": [ ["src/buildtool/file_system", "object_type"] , ["src/buildtool/system", "system_command"] - , "config" , ["src/buildtool/common", "bazel_types"] , ["src/buildtool/file_system", "file_system_manager"] , ["src/buildtool/execution_api/utils", "outputscheck"] diff --git a/src/buildtool/execution_api/local/local_action.cpp b/src/buildtool/execution_api/local/local_action.cpp index 955e6724..73d78e36 100644 --- a/src/buildtool/execution_api/local/local_action.cpp +++ b/src/buildtool/execution_api/local/local_action.cpp @@ -24,7 +24,6 @@ #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/config.hpp" #include "src/buildtool/execution_api/local/local_cas_reader.hpp" #include "src/buildtool/execution_api/local/local_response.hpp" #include "src/buildtool/execution_api/utils/outputscheck.hpp" @@ -166,7 +165,7 @@ auto LocalAction::Run(bazel_re::Digest const& action_id) const noexcept return std::nullopt; } - auto cmdline = LocalExecutionConfig::GetLauncher(); + auto cmdline = exec_config_.GetLauncher(); std::copy(cmdline_.begin(), cmdline_.end(), std::back_inserter(cmdline)); SystemCommand system{"LocalExecution"}; diff --git a/src/buildtool/execution_api/local/local_action.hpp b/src/buildtool/execution_api/local/local_action.hpp index e62f209f..a9ffe959 100644 --- a/src/buildtool/execution_api/local/local_action.hpp +++ b/src/buildtool/execution_api/local/local_action.hpp @@ -28,6 +28,7 @@ #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" +#include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/storage/config.hpp" #include "src/buildtool/storage/storage.hpp" @@ -65,6 +66,7 @@ class LocalAction final : public IExecutionAction { Logger logger_{"LocalExecution"}; StorageConfig const& storage_config_; Storage const& storage_; + LocalExecutionConfig const& exec_config_; ArtifactDigest const root_digest_{}; std::vector<std::string> const cmdline_{}; std::vector<std::string> output_files_{}; @@ -77,6 +79,7 @@ class LocalAction final : public IExecutionAction { explicit LocalAction( gsl::not_null<StorageConfig const*> storage_config, gsl::not_null<Storage const*> const& storage, + gsl::not_null<LocalExecutionConfig const*> const& exec_config, ArtifactDigest root_digest, std::vector<std::string> command, std::vector<std::string> output_files, @@ -85,6 +88,7 @@ class LocalAction final : public IExecutionAction { std::map<std::string, std::string> const& properties) noexcept : storage_config_{*storage_config}, storage_{*storage}, + exec_config_{*exec_config}, root_digest_{std::move(root_digest)}, cmdline_{std::move(command)}, output_files_{std::move(output_files)}, diff --git a/src/buildtool/execution_api/local/local_api.hpp b/src/buildtool/execution_api/local/local_api.hpp index bfa1d6c6..fc133835 100644 --- a/src/buildtool/execution_api/local/local_api.hpp +++ b/src/buildtool/execution_api/local/local_api.hpp @@ -43,6 +43,7 @@ #include "src/buildtool/execution_api/common/tree_reader.hpp" #include "src/buildtool/execution_api/execution_service/cas_utils.hpp" #include "src/buildtool/execution_api/git/git_api.hpp" +#include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/execution_api/local/local_action.hpp" #include "src/buildtool/execution_api/local/local_cas_reader.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" @@ -54,11 +55,14 @@ /// \brief API for local execution. class LocalApi final : public IExecutionApi { public: - explicit LocalApi(gsl::not_null<StorageConfig const*> const& storage_config, - gsl::not_null<Storage const*> const& storage, - RepositoryConfig const* repo_config = nullptr) noexcept + explicit LocalApi( + gsl::not_null<StorageConfig const*> const& storage_config, + gsl::not_null<Storage const*> const& storage, + gsl::not_null<LocalExecutionConfig const*> const& exec_config, + RepositoryConfig const* repo_config = nullptr) noexcept : storage_config_{*storage_config}, storage_{*storage}, + exec_config_{*exec_config}, repo_config_{repo_config} {} [[nodiscard]] auto CreateAction( @@ -71,6 +75,7 @@ class LocalApi final : public IExecutionApi { -> IExecutionAction::Ptr final { return IExecutionAction::Ptr{new LocalAction{&storage_config_, &storage_, + &exec_config_, root_digest, command, output_files, @@ -411,6 +416,7 @@ class LocalApi final : public IExecutionApi { private: StorageConfig const& storage_config_; Storage const& storage_; + LocalExecutionConfig const& exec_config_; RepositoryConfig const* const repo_config_ = nullptr; }; |