runCli function

Future<int> runCli(
  1. List<String> args, {
  2. ManagerFactory? managerFactory,
  3. StringSink? out,
  4. StringSink? errOut,
})

Runs the dart-service CLI with args and returns a process exit code.

Usage errors map to exit code 64; ServiceManagerExceptions print error: <message> to errOut and map to exit code 1.

Implementation

Future<int> runCli(
  List<String> args, {
  ManagerFactory? managerFactory,
  StringSink? out,
  StringSink? errOut,
}) async {
  final err = errOut ?? stderr;
  try {
    final code = await buildServiceRunner(
      managerFactory: managerFactory,
      out: out,
    ).run(args);
    return code ?? 0;
  } on UsageException catch (e) {
    err.writeln(e);
    return 64;
  } on ServiceManagerException catch (e) {
    err.writeln('error: ${e.message}');
    return 1;
  }
}