summaryrefslogtreecommitdiff
path: root/src/buildtool/main/cli.cpp
diff options
context:
space:
mode:
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;
}