diff options
-rw-r--r-- | src/buildtool/main/TARGETS | 2 | ||||
-rw-r--r-- | src/buildtool/main/describe.cpp | 8 | ||||
-rw-r--r-- | src/buildtool/main/describe.hpp | 2 | ||||
-rw-r--r-- | src/buildtool/main/main.cpp | 1 |
4 files changed, 8 insertions, 5 deletions
diff --git a/src/buildtool/main/TARGETS b/src/buildtool/main/TARGETS index b92d4738..692e21b9 100644 --- a/src/buildtool/main/TARGETS +++ b/src/buildtool/main/TARGETS @@ -75,6 +75,7 @@ , ["src/buildtool/build_engine/base_maps", "entity_name"] , ["src/buildtool/build_engine/target_map", "configured_target"] , ["src/buildtool/common", "config"] + , ["src/buildtool/serve_api/remote", "serve_api"] ] , "stage": ["src", "buildtool", "main"] , "private-deps": @@ -87,7 +88,6 @@ , ["src/buildtool/logging", "log_level"] , ["src/buildtool/logging", "logging"] , ["src/buildtool/serve_api/remote", "config"] - , ["src/buildtool/serve_api/remote", "serve_api"] , "common" ] } diff --git a/src/buildtool/main/describe.cpp b/src/buildtool/main/describe.cpp index 57a73cdb..467d382a 100644 --- a/src/buildtool/main/describe.cpp +++ b/src/buildtool/main/describe.cpp @@ -28,7 +28,6 @@ #include "src/buildtool/execution_api/common/create_execution_api.hpp" #include "src/buildtool/execution_api/remote/config.hpp" #include "src/buildtool/serve_api/remote/config.hpp" -#include "src/buildtool/serve_api/remote/serve_api.hpp" #endif // BOOTSTRAP_BUILD_TOOL namespace { @@ -268,13 +267,14 @@ auto DescribeUserDefinedRule( auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, gsl::not_null<const RepositoryConfig*> const& repo_config, + std::optional<gsl::not_null<const ServeApi*>> const& serve, std::size_t jobs, bool print_json) -> int { #ifndef BOOTSTRAP_BUILD_TOOL // check if target root is absent if (repo_config->TargetRoot(id.target.ToModule().repository)->IsAbsent()) { // check that we have a serve endpoint configured - if (not RemoteServeConfig::Instance().RemoteAddress()) { + if (not serve) { Logger::Log(LogLevel::Error, fmt::format("Root for target {} is absent but no serve " "endpoint was configured. Please provide " @@ -285,7 +285,7 @@ auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, // check that just serve and the client use same remote execution // endpoint; it might make sense in the future to remove or avoid this // check, e.g., if remote endpoints are behind proxies. - if (not ServeApi::Instance().CheckServeRemoteExecution()) { + if (not(*serve)->CheckServeRemoteExecution()) { Logger::Log(LogLevel::Error, "Inconsistent remote execution endpoint and serve " "endpoint configuration detected."); @@ -302,7 +302,7 @@ auto DescribeTarget(BuildMaps::Target::ConfiguredTarget const& id, repo_name); return kExitFailure; } - if (auto dgst = ServeApi::Instance().ServeTargetDescription( + if (auto dgst = (*serve)->ServeTargetDescription( *target_root_id, *(repo_config->TargetFileName(repo_name)), id.target.GetNamedTarget().name)) { diff --git a/src/buildtool/main/describe.hpp b/src/buildtool/main/describe.hpp index 7e3c8f83..3548e40f 100644 --- a/src/buildtool/main/describe.hpp +++ b/src/buildtool/main/describe.hpp @@ -21,10 +21,12 @@ #include "src/buildtool/build_engine/base_maps/entity_name.hpp" #include "src/buildtool/build_engine/target_map/configured_target.hpp" #include "src/buildtool/common/repository_config.hpp" +#include "src/buildtool/serve_api/remote/serve_api.hpp" [[nodiscard]] auto DescribeTarget( BuildMaps::Target::ConfiguredTarget const& id, gsl::not_null<const RepositoryConfig*> const& repo_config, + std::optional<gsl::not_null<const ServeApi*>> const& serve, std::size_t jobs, bool print_json) -> int; diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 7ae42622..02b63057 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -997,6 +997,7 @@ auto main(int argc, char* argv[]) -> int { arguments.describe.print_json) : DescribeTarget(*id, &repo_config, + serve, arguments.common.jobs, arguments.describe.print_json); } |