summaryrefslogtreecommitdiff
path: root/src/buildtool/main/cli.cpp
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2023-09-11 15:50:04 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-09-13 16:14:43 +0200
commit795e3e8ce01611a3448a23ca634b2271dfc2e5c6 (patch)
treea615661cbf60c93ae992a21e679bdad3fdfa9dd1 /src/buildtool/main/cli.cpp
parent2ca5f6b03fbae4bfe9edd62f04c4a88d273c2ac8 (diff)
downloadjustbuild-795e3e8ce01611a3448a23ca634b2271dfc2e5c6.tar.gz
just: Add handling of 'just serve' configuration
Diffstat (limited to 'src/buildtool/main/cli.cpp')
-rw-r--r--src/buildtool/main/cli.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/buildtool/main/cli.cpp b/src/buildtool/main/cli.cpp
index cb53acde..f7e1ea71 100644
--- a/src/buildtool/main/cli.cpp
+++ b/src/buildtool/main/cli.cpp
@@ -120,11 +120,20 @@ auto SetupExecutionServiceCommandArguments(
SetupCompatibilityArguments(app);
SetupCommonBuildArguments(app, &clargs->build);
SetupCacheArguments(app, &clargs->endpoint);
- SetupExecutionServiceArguments(app, &clargs->es);
+ SetupServiceArguments(app, &clargs->service);
SetupLogArguments(app, &clargs->log);
SetupCommonAuthArguments(app, &clargs->auth);
SetupServerAuthArguments(app, &clargs->sauth);
}
+
+/// \brief Setup arguments for sub command "just serve".
+auto SetupServeServiceCommandArguments(
+ gsl::not_null<CLI::App*> const& app,
+ gsl::not_null<CommandLineArguments*> const& clargs) {
+ // all other arguments will be read from config file
+ SetupServeArguments(app, &clargs->serve);
+}
+
} // namespace
auto ParseCommandLineArguments(int argc, char const* const* argv)
@@ -149,6 +158,8 @@ auto ParseCommandLineArguments(int argc, char const* const* argv)
app.add_subcommand("gc", "Trigger garbage collection of local cache.");
auto* cmd_execution = app.add_subcommand(
"execute", "Start single node execution service on this machine.");
+ auto* cmd_serve =
+ app.add_subcommand("serve", "Provide target dependencies for a build.");
auto* cmd_traverse =
app.group("") // group for creating hidden options
->add_subcommand("traverse",
@@ -165,6 +176,7 @@ auto ParseCommandLineArguments(int argc, char const* const* argv)
SetupTraverseCommandArguments(cmd_traverse, &clargs);
SetupGcCommandArguments(cmd_gc, &clargs);
SetupExecutionServiceCommandArguments(cmd_execution, &clargs);
+ SetupServeServiceCommandArguments(cmd_serve, &clargs);
try {
app.parse(argc, argv);
} catch (CLI::Error& e) {
@@ -204,6 +216,9 @@ auto ParseCommandLineArguments(int argc, char const* const* argv)
else if (*cmd_execution) {
clargs.cmd = SubCommand::kExecute;
}
+ else if (*cmd_serve) {
+ clargs.cmd = SubCommand::kServe;
+ }
return clargs;
}