summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-12-06 12:44:22 +0100
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-12-09 10:34:15 +0100
commit43e5a60d5cffc75f7edc87d653690b2b77f4677d (patch)
tree9fb4c9c68e213f7dc13486560288c655ee3354df
parent72fb84797b3fea641fcc6fdbd7ba41f09251f1bb (diff)
downloadjustbuild-43e5a60d5cffc75f7edc87d653690b2b77f4677d.tar.gz
analysis: Support artifact build arguments
As analysis now can compute roots, i.e., can build artifacts, it needs to support setting the local launcher, action timeout, and the build jobs. The stage and rebuild arguments, which are also needed by the graph traversal, as well as other build-related arguments, remain not supported for the analysis subcomamnd, however they remain honored if set by subcommands that trigger an implicit analysis (e.g., build or install).
-rw-r--r--src/buildtool/common/cli.hpp6
-rw-r--r--src/buildtool/main/cli.cpp4
2 files changed, 10 insertions, 0 deletions
diff --git a/src/buildtool/common/cli.hpp b/src/buildtool/common/cli.hpp
index 2a04f413..3c7ac45e 100644
--- a/src/buildtool/common/cli.hpp
+++ b/src/buildtool/common/cli.hpp
@@ -514,6 +514,12 @@ static inline auto SetupBuildArguments(
clargs->build_jobs,
"Number of jobs to run during build phase (Default: same as jobs).")
->type_name("NUM");
+}
+
+static inline auto SetupExtendedBuildArguments(
+ gsl::not_null<CLI::App*> const& app,
+ gsl::not_null<BuildArguments*> const& clargs) {
+
app->add_option("--dump-artifacts",
clargs->dump_artifacts,
"Dump artifacts to file (use - for stdout).")
diff --git a/src/buildtool/main/cli.cpp b/src/buildtool/main/cli.cpp
index cc7bc78c..bfb79858 100644
--- a/src/buildtool/main/cli.cpp
+++ b/src/buildtool/main/cli.cpp
@@ -55,6 +55,8 @@ auto SetupAnalyseCommandArguments(
SetupServeEndpointArguments(app, &clargs->serve);
SetupCommonAuthArguments(app, &clargs->auth);
SetupClientAuthArguments(app, &clargs->cauth);
+ SetupCommonBuildArguments(app, &clargs->build);
+ SetupBuildArguments(app, &clargs->build);
SetupDiagnosticArguments(app, &clargs->diagnose);
SetupProtocolArguments(app, &clargs->protocol);
SetupRetryArguments(app, &clargs->retry);
@@ -75,6 +77,7 @@ auto SetupBuildCommandArguments(
SetupClientAuthArguments(app, &clargs->cauth);
SetupCommonBuildArguments(app, &clargs->build);
SetupBuildArguments(app, &clargs->build);
+ SetupExtendedBuildArguments(app, &clargs->build);
SetupTCArguments(app, &clargs->tc);
SetupProtocolArguments(app, &clargs->protocol);
SetupRetryArguments(app, &clargs->retry);
@@ -138,6 +141,7 @@ auto SetupTraverseCommandArguments(
SetupGraphArguments(app, &clargs->graph); // instead of analysis
SetupCommonBuildArguments(app, &clargs->build);
SetupBuildArguments(app, &clargs->build);
+ SetupExtendedBuildArguments(app, &clargs->build);
SetupStageArguments(app, &clargs->stage);
SetupProtocolArguments(app, &clargs->protocol);
}