summaryrefslogtreecommitdiff
path: root/src/buildtool/main/main.cpp
diff options
context:
space:
mode:
authorMaksim Denisov <denisov.maksim@huawei.com>2024-06-11 13:19:38 +0200
committerMaksim Denisov <denisov.maksim@huawei.com>2024-06-18 12:05:10 +0200
commit60a056f0b01515ad70ff99d08dd3d2b7475c6c37 (patch)
tree4fd4de8710e29582f6843e32c703f5451717d572 /src/buildtool/main/main.cpp
parent26fdbae5f7269c06f95d3d087e657bb192b909d1 (diff)
downloadjustbuild-60a056f0b01515ad70ff99d08dd3d2b7475c6c37.tar.gz
Pass ServeApi as a field of context to the analysis
...instead of using singleton calls.
Diffstat (limited to 'src/buildtool/main/main.cpp')
-rw-r--r--src/buildtool/main/main.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 92f64891..7ae42622 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -56,6 +56,7 @@
#include "src/buildtool/multithreading/async_map_consumer.hpp"
#include "src/buildtool/multithreading/task_system.hpp"
#include "src/buildtool/progress_reporting/progress.hpp"
+#include "src/buildtool/serve_api/remote/serve_api.hpp"
#include "src/buildtool/storage/config.hpp"
#include "src/buildtool/storage/file_chunker.hpp"
#include "src/buildtool/storage/garbage_collector.hpp"
@@ -948,6 +949,15 @@ auto main(int argc, char* argv[]) -> int {
DetermineRoots(&repo_config, arguments.common, arguments.analysis);
#ifndef BOOTSTRAP_BUILD_TOOL
+ std::optional<gsl::not_null<const ServeApi*>> serve;
+ if (RemoteServeConfig::Instance().RemoteAddress()) {
+ serve = &ServeApi::Instance();
+ }
+#else
+ std::optional<gsl::not_null<const ServeApi*>> serve;
+#endif // BOOTSTRAP_BUILD_TOOL
+
+#ifndef BOOTSTRAP_BUILD_TOOL
auto lock = GarbageCollector::SharedLock();
if (not lock) {
return kExitFailure;
@@ -1019,7 +1029,9 @@ auto main(int argc, char* argv[]) -> int {
.repo_config = &repo_config,
.target_cache = Storage::Instance().TargetCache(),
.statistics = &stats,
- .progress = &exports_progress};
+ .progress = &exports_progress,
+ .serve = serve};
+
auto result = AnalyseTarget(&analyse_ctx,
id,
&result_map,