diff options
Diffstat (limited to 'src')
6 files changed, 13 insertions, 5 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 5b42507a..c42b83a3 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -861,6 +861,7 @@ auto main(int argc, char* argv[]) -> int { return serve_server->Run(*serve_config, *storage_config, storage, + LocalExecutionConfig::Instance(), serve, serve_apis, with_execute) diff --git a/src/buildtool/serve_api/serve_service/TARGETS b/src/buildtool/serve_api/serve_service/TARGETS index e390987f..40b11f34 100644 --- a/src/buildtool/serve_api/serve_service/TARGETS +++ b/src/buildtool/serve_api/serve_service/TARGETS @@ -50,6 +50,7 @@ , ["src/buildtool/serve_api/remote", "config"] , ["src/buildtool/serve_api/remote", "serve_api"] , ["src/buildtool/execution_api/common", "api_bundle"] + , ["src/buildtool/execution_api/local", "config"] , ["src/buildtool/storage", "config"] , ["src/buildtool/storage", "storage"] ] @@ -82,9 +83,9 @@ [ ["src/buildtool/logging", "logging"] , ["@", "gsl", "", "gsl"] , ["src/buildtool/common/remote", "remote_common"] - , ["src/buildtool/execution_api/remote", "config"] , ["src/buildtool/execution_api/common", "api_bundle"] , ["src/buildtool/execution_api/common", "common"] + , ["src/buildtool/execution_api/local", "config"] , ["src/buildtool/serve_api/remote", "config"] , ["src/utils/cpp", "expected"] , ["src/buildtool/storage", "config"] @@ -102,7 +103,6 @@ , ["src/buildtool/build_engine/target_map", "configured_target"] , ["src/buildtool/build_engine/target_map", "result_map"] , ["src/buildtool/common/remote", "remote_common"] - , ["src/buildtool/execution_api/local", "config"] , ["src/buildtool/execution_api/remote", "config"] , ["src/buildtool/file_system", "file_system_manager"] , ["src/buildtool/graph_traverser", "graph_traverser"] diff --git a/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp b/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp index c71953d9..cfdb849a 100644 --- a/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp +++ b/src/buildtool/serve_api/serve_service/serve_server_implementation.cpp @@ -90,6 +90,7 @@ auto ServeServerImpl::Create(std::optional<std::string> interface, auto ServeServerImpl::Run(RemoteServeConfig const& serve_config, StorageConfig const& storage_config, Storage const& storage, + LocalExecutionConfig const& local_exec_config, std::optional<ServeApi> const& serve, ApiBundle const& apis, bool with_execute) -> bool { @@ -111,6 +112,7 @@ auto ServeServerImpl::Run(RemoteServeConfig const& serve_config, TargetService ts{&serve_config, &storage_config, &storage, + &local_exec_config, &apis, serve ? &*serve : nullptr}; ConfigurationService cs{}; diff --git a/src/buildtool/serve_api/serve_service/serve_server_implementation.hpp b/src/buildtool/serve_api/serve_service/serve_server_implementation.hpp index d30c77f9..c0ebc4f2 100644 --- a/src/buildtool/serve_api/serve_service/serve_server_implementation.hpp +++ b/src/buildtool/serve_api/serve_service/serve_server_implementation.hpp @@ -19,6 +19,7 @@ #include <string> #include "src/buildtool/execution_api/common/api_bundle.hpp" +#include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/serve_api/remote/config.hpp" #include "src/buildtool/serve_api/remote/serve_api.hpp" @@ -46,12 +47,14 @@ class ServeServerImpl { /// \param serve_config RemoteServeConfig to be used. /// \param storage_config StorageConfig to be used. /// \param storage Storage to be used. + /// \param local_exec_config LocalExecutionConfig to be used. /// \param serve ServeApi to be used. /// \param with_execute Flag specifying if just serve should act also as /// just execute (i.e., start remote execution services with same interface) auto Run(RemoteServeConfig const& serve_config, StorageConfig const& storage_config, Storage const& storage, + LocalExecutionConfig const& local_exec_config, std::optional<ServeApi> const& serve, ApiBundle const& apis, bool with_execute) -> bool; diff --git a/src/buildtool/serve_api/serve_service/target.cpp b/src/buildtool/serve_api/serve_service/target.cpp index a2d0ce53..3ee2a3b1 100644 --- a/src/buildtool/serve_api/serve_service/target.cpp +++ b/src/buildtool/serve_api/serve_service/target.cpp @@ -27,7 +27,6 @@ #include "src/buildtool/common/artifact.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" -#include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/file_system/file_system_manager.hpp" #include "src/buildtool/file_system/object_type.hpp" @@ -502,7 +501,7 @@ auto TargetService::ServeTarget( // traversing. ApiBundle const local_apis{&storage_config_, &storage_, - &LocalExecutionConfig::Instance(), + &local_exec_config_, &repository_config, &apis_.auth, address}; diff --git a/src/buildtool/serve_api/serve_service/target.hpp b/src/buildtool/serve_api/serve_service/target.hpp index 9488e19c..1ce7fad2 100644 --- a/src/buildtool/serve_api/serve_service/target.hpp +++ b/src/buildtool/serve_api/serve_service/target.hpp @@ -30,7 +30,7 @@ #include "src/buildtool/common/remote/remote_common.hpp" #include "src/buildtool/execution_api/common/api_bundle.hpp" #include "src/buildtool/execution_api/common/execution_api.hpp" -#include "src/buildtool/execution_api/remote/config.hpp" +#include "src/buildtool/execution_api/local/config.hpp" #include "src/buildtool/logging/logger.hpp" #include "src/buildtool/serve_api/remote/config.hpp" #include "src/buildtool/serve_api/remote/serve_api.hpp" @@ -45,11 +45,13 @@ class TargetService final : public justbuild::just_serve::Target::Service { gsl::not_null<RemoteServeConfig const*> const& serve_config, gsl::not_null<StorageConfig const*> const& storage_config, gsl::not_null<Storage const*> const& storage, + gsl::not_null<LocalExecutionConfig const*> const& local_exec_config, gsl::not_null<ApiBundle const*> const& apis, ServeApi const* serve = nullptr) noexcept : serve_config_{*serve_config}, storage_config_{*storage_config}, storage_{*storage}, + local_exec_config_{*local_exec_config}, apis_{*apis}, serve_{serve} {} @@ -132,6 +134,7 @@ class TargetService final : public justbuild::just_serve::Target::Service { RemoteServeConfig const& serve_config_; StorageConfig const& storage_config_; Storage const& storage_; + LocalExecutionConfig const& local_exec_config_; ApiBundle const& apis_; ServeApi const* const serve_ = nullptr; std::shared_ptr<Logger> logger_{std::make_shared<Logger>("target-service")}; |