summaryrefslogtreecommitdiff
path: root/src
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 /src
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).
Diffstat (limited to 'src')
-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);
}