run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
final args = argResults!;
final role = requireRole(args);
final descriptor = serviceDescriptor(role, args);
final manager = _serviceManager(verbose: args['verbose'] as bool);
if (args['dry-run'] as bool) {
stdout.writeln(manager.renderDefinition(descriptor));
return;
}
await runService(() async {
await manager.installDescriptor(
descriptor,
startNow: true,
force: args['force'] as bool,
);
stdout.writeln(
'Installed and started service "$role" (${descriptor.scope.name} '
'scope).',
);
});
}