summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/buildtool/main/TARGETS2
-rw-r--r--src/buildtool/main/describe.cpp8
-rw-r--r--src/buildtool/main/describe.hpp2
-rw-r--r--src/buildtool/main/main.cpp1
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);
}