diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-07-26 10:00:35 +0200 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2024-07-30 12:10:06 +0200 |
commit | 09fb60908a7f00a7c858a45ced77633bac33bd29 (patch) | |
tree | a45e9db9cd7ab221b82d44a077c6ce6ba2bc6272 | |
parent | 507e944f8b40f30d8201af96ff3fe6778161abbb (diff) | |
download | justbuild-09fb60908a7f00a7c858a45ced77633bac33bd29.tar.gz |
Pass RemoteContext to GraphTraverser
It is passed as a not_null const pointer, to avoid binding to
temporaries, and stored as a const reference to be later passed
also to Executor/Rebuilder.
-rw-r--r-- | src/buildtool/graph_traverser/TARGETS | 1 | ||||
-rw-r--r-- | src/buildtool/graph_traverser/graph_traverser.hpp | 33 | ||||
-rw-r--r-- | src/buildtool/main/main.cpp | 3 | ||||
-rw-r--r-- | src/buildtool/serve_api/serve_service/target.cpp | 3 | ||||
-rw-r--r-- | test/buildtool/graph_traverser/graph_traverser.test.hpp | 45 |
5 files changed, 32 insertions, 53 deletions
diff --git a/src/buildtool/graph_traverser/TARGETS b/src/buildtool/graph_traverser/TARGETS index 0bb9a8e8..b216943c 100644 --- a/src/buildtool/graph_traverser/TARGETS +++ b/src/buildtool/graph_traverser/TARGETS @@ -7,7 +7,6 @@ , ["src/buildtool/common", "common"] , ["src/buildtool/common", "config"] , ["src/buildtool/common", "tree"] - , ["src/buildtool/common/remote", "remote_common"] , ["src/buildtool/execution_engine/dag", "dag"] , ["src/buildtool/execution_engine/executor", "executor"] , ["src/buildtool/execution_engine/traverser", "traverser"] diff --git a/src/buildtool/graph_traverser/graph_traverser.hpp b/src/buildtool/graph_traverser/graph_traverser.hpp index fce9b7d4..ccef2ace 100644 --- a/src/buildtool/graph_traverser/graph_traverser.hpp +++ b/src/buildtool/graph_traverser/graph_traverser.hpp @@ -33,7 +33,6 @@ #include "gsl/gsl" #include "src/buildtool/common/artifact_digest.hpp" #include "src/buildtool/common/cli.hpp" -#include "src/buildtool/common/remote/remote_common.hpp" #include "src/buildtool/common/repository_config.hpp" #include "src/buildtool/common/statistics.hpp" #include "src/buildtool/common/tree.hpp" @@ -76,8 +75,7 @@ class GraphTraverser { explicit GraphTraverser( CommandLineArguments clargs, gsl::not_null<const RepositoryConfig*> const& repo_config, - ExecutionProperties platform_properties, - std::vector<DispatchEndpoint> dispatch_list, + gsl::not_null<RemoteContext const*> const& remote_context, gsl::not_null<Statistics*> const& stats, gsl::not_null<Progress*> const& progress, gsl::not_null<ApiBundle const*> const& apis, @@ -85,8 +83,7 @@ class GraphTraverser { Logger const* logger = nullptr) : clargs_{std::move(clargs)}, repo_config_{repo_config}, - platform_properties_{std::move(platform_properties)}, - dispatch_list_{std::move(dispatch_list)}, + remote_context_{*remote_context}, stats_{stats}, progress_{progress}, apis_{*apis}, @@ -226,8 +223,7 @@ class GraphTraverser { private: CommandLineArguments const clargs_; gsl::not_null<const RepositoryConfig*> repo_config_; - ExecutionProperties platform_properties_; - std::vector<DispatchEndpoint> dispatch_list_; + RemoteContext const& remote_context_; gsl::not_null<Statistics*> stats_; gsl::not_null<Progress*> progress_; ApiBundle const& apis_; @@ -361,11 +357,11 @@ class GraphTraverser { Executor executor{repo_config_, &*apis_.local, &*apis_.remote, - platform_properties_, - dispatch_list_, + remote_context_.exec_config->platform_properties, + remote_context_.exec_config->dispatch, apis_.hash_function, - &apis_.auth, - &apis_.retry_config, + remote_context_.auth, + remote_context_.retry_config, stats_, progress_, logger_, @@ -391,18 +387,19 @@ class GraphTraverser { DependencyGraph const& g, std::vector<ArtifactIdentifier> const& artifact_ids) const -> bool { // setup rebuilder with api for cache endpoint - auto api_cached = apis_.CreateRemote(apis_.remote_config.cache_address, - &apis_.auth, - &apis_.retry_config); + auto api_cached = + apis_.CreateRemote(remote_context_.exec_config->cache_address, + remote_context_.auth, + remote_context_.retry_config); Rebuilder executor{repo_config_, &*apis_.local, &*apis_.remote, &*api_cached, - platform_properties_, - dispatch_list_, + remote_context_.exec_config->platform_properties, + remote_context_.exec_config->dispatch, apis_.hash_function, - &apis_.auth, - &apis_.retry_config, + remote_context_.auth, + remote_context_.retry_config, stats_, progress_, clargs_.build.timeout}; diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 7fc4805e..c76b57ce 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -996,8 +996,7 @@ auto main(int argc, char* argv[]) -> int { std::move(stage_args), std::move(rebuild_args)}, &repo_config, - remote_exec_config->platform_properties, - remote_exec_config->dispatch, + &remote_context, &stats, &progress, &main_apis, diff --git a/src/buildtool/serve_api/serve_service/target.cpp b/src/buildtool/serve_api/serve_service/target.cpp index af6de69f..ec8ff458 100644 --- a/src/buildtool/serve_api/serve_service/target.cpp +++ b/src/buildtool/serve_api/serve_service/target.cpp @@ -507,8 +507,7 @@ auto TargetService::ServeTarget( GraphTraverser const traverser{ std::move(traverser_args), &repository_config, - remote_config->platform_properties, - remote_config->dispatch, + &dispatch_context, &stats, &progress, &local_apis, diff --git a/test/buildtool/graph_traverser/graph_traverser.test.hpp b/test/buildtool/graph_traverser/graph_traverser.test.hpp index 0f3de2e6..314d7bd6 100644 --- a/test/buildtool/graph_traverser/graph_traverser.test.hpp +++ b/test/buildtool/graph_traverser/graph_traverser.test.hpp @@ -190,8 +190,7 @@ class TestProject { GraphTraverser const gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -216,8 +215,7 @@ class TestProject { auto const clargs_exec = p.CmdLineArgs("_entry_points_get_executable"); GraphTraverser const gt_get_exec{clargs_exec.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -270,8 +268,7 @@ class TestProject { GraphTraverser const gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -319,8 +316,7 @@ class TestProject { GraphTraverser const gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -335,8 +331,7 @@ class TestProject { auto const clargs_full_build = p.CmdLineArgs("_entry_points_full_build"); GraphTraverser const gt_full_build{clargs_full_build.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -389,8 +384,7 @@ class TestProject { GraphTraverser const gt_upload{clargs_update_cpp.gtargs, full_hello_world.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -412,8 +406,7 @@ class TestProject { auto const clargs = hello_world_known_cpp.CmdLineArgs(); GraphTraverser const gt{clargs.gtargs, full_hello_world.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -464,8 +457,7 @@ static void TestBlobsUploadedAndUsed( GraphTraverser gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -521,8 +513,7 @@ static void TestEnvironmentVariablesSetAndUsed( GraphTraverser gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -578,8 +569,7 @@ static void TestTreesUsed( GraphTraverser gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -635,8 +625,7 @@ static void TestNestedTreesUsed( GraphTraverser gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -693,8 +682,7 @@ static void TestFlakyHelloWorldDetected( auto clargs = p.CmdLineArgs("_entry_points_ctimes"); GraphTraverser const gt{clargs.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -714,8 +702,7 @@ static void TestFlakyHelloWorldDetected( clargs_output.gtargs.rebuild = RebuildArguments{}; GraphTraverser const gt_output{clargs_output.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -732,8 +719,7 @@ static void TestFlakyHelloWorldDetected( clargs_stripped.gtargs.rebuild = RebuildArguments{}; GraphTraverser const gt_stripped{clargs_stripped.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, @@ -750,8 +736,7 @@ static void TestFlakyHelloWorldDetected( clargs_ctimes.gtargs.rebuild = RebuildArguments{}; GraphTraverser const gt_ctimes{clargs_ctimes.gtargs, p.GetRepoConfig(), - remote_config->platform_properties, - remote_config->dispatch, + &remote_context, &stats, &progress, &apis, |