diff options
author | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-11-28 12:34:45 +0100 |
---|---|---|
committer | Paul Cristian Sarbu <paul.cristian.sarbu@huawei.com> | 2023-12-05 10:52:23 +0100 |
commit | 1ada9c3738c43a3641e1e0d0896b8f4b7142c279 (patch) | |
tree | 275c1a166a4070349911a55a62b26b4863a5cb82 /src | |
parent | 00b72e544697cfb9919d3ab75633caee851c5863 (diff) | |
download | justbuild-1ada9c3738c43a3641e1e0d0896b8f4b7142c279.tar.gz |
AnalyseTarget: Simplify method signature
Similarly to the jobs common argument, we can simply only pass the
needed single element from the analysis arguments struct. This will
allow for a clearer understanding of what target analysis requires
and reduce the overhead when reutilizing this method in just serve.
Diffstat (limited to 'src')
-rw-r--r-- | src/buildtool/main/analyse.cpp | 22 | ||||
-rw-r--r-- | src/buildtool/main/analyse.hpp | 3 | ||||
-rw-r--r-- | src/buildtool/main/main.cpp | 11 |
3 files changed, 19 insertions, 17 deletions
diff --git a/src/buildtool/main/analyse.cpp b/src/buildtool/main/analyse.cpp index 54b77e4f..f90ba3ac 100644 --- a/src/buildtool/main/analyse.cpp +++ b/src/buildtool/main/analyse.cpp @@ -127,7 +127,8 @@ void DetectAndReportPending(std::string const& name, gsl::not_null<Target::ResultTargetMap*> const& result_map, gsl::not_null<RepositoryConfig*> const& repo_config, std::size_t jobs, - AnalysisArguments const& clargs) -> std::optional<AnalysisResult> { + std::optional<std::string> const& request_action_input) + -> std::optional<AnalysisResult> { auto directory_entries = Base::CreateDirectoryEntriesMap(repo_config, jobs); auto expressions_file_map = Base::CreateExpressionFileMap(repo_config, jobs); @@ -196,9 +197,9 @@ void DetectAndReportPending(std::string const& name, } std::optional<std::string> modified{}; - if (clargs.request_action_input) { - if (clargs.request_action_input->starts_with("%")) { - auto action_id = clargs.request_action_input->substr(1); + if (request_action_input) { + if (request_action_input->starts_with("%")) { + auto action_id = request_action_input->substr(1); auto action = result_map->GetAction(action_id); if (action) { Logger::Log(LogLevel::Info, @@ -215,9 +216,8 @@ void DetectAndReportPending(std::string const& name, return std::nullopt; } } - else if (clargs.request_action_input->starts_with("#")) { - auto number = - std::atoi(clargs.request_action_input->substr(1).c_str()); + else if (request_action_input->starts_with("#")) { + auto number = std::atoi(request_action_input->substr(1).c_str()); auto action = GetActionNumber(*target, number); if (action) { Logger::Log( @@ -233,16 +233,16 @@ void DetectAndReportPending(std::string const& name, } } else { - auto action = result_map->GetAction(*clargs.request_action_input); + auto action = result_map->GetAction(*request_action_input); if (action) { Logger::Log(LogLevel::Info, "Request is input of action %{}", - *clargs.request_action_input); + *request_action_input); target = SwitchToActionInput(target, *action); - modified = fmt::format("%{}", *clargs.request_action_input); + modified = fmt::format("%{}", *request_action_input); } else { - auto number = std::atoi(clargs.request_action_input->c_str()); + auto number = std::atoi(request_action_input->c_str()); auto action = GetActionNumber(*target, number); if (action) { Logger::Log(LogLevel::Info, diff --git a/src/buildtool/main/analyse.hpp b/src/buildtool/main/analyse.hpp index f4d96229..82c2ba3e 100644 --- a/src/buildtool/main/analyse.hpp +++ b/src/buildtool/main/analyse.hpp @@ -32,5 +32,6 @@ struct AnalysisResult { gsl::not_null<BuildMaps::Target::ResultTargetMap*> const& result_map, gsl::not_null<RepositoryConfig*> const& repo_config, std::size_t jobs, - AnalysisArguments const& clargs) -> std::optional<AnalysisResult>; + std::optional<std::string> const& request_action_input) + -> std::optional<AnalysisResult>; #endif diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp index 97acb90b..3503129d 100644 --- a/src/buildtool/main/main.cpp +++ b/src/buildtool/main/main.cpp @@ -1001,11 +1001,12 @@ auto main(int argc, char* argv[]) -> int { arguments.common.jobs}; auto id = ReadConfiguredTarget( main_repo, main_ws_root, &repo_config, arguments.analysis); - auto result = AnalyseTarget(id, - &result_map, - &repo_config, - arguments.common.jobs, - arguments.analysis); + auto result = + AnalyseTarget(id, + &result_map, + &repo_config, + arguments.common.jobs, + arguments.analysis.request_action_input); if (result) { if (arguments.analysis.graph_file) { result_map.ToFile(*arguments.analysis.graph_file); |