wyatt-packages/packages/wyatt_continuous_deployment/bin/wyatt_continuous_deployment.dart
Malo Léon dc9ce095b4
Some checks failed
continuous-integration/drone/pr Build is failing
chore: version bin folder
2024-02-29 10:00:03 +00:00

21 lines
825 B
Dart

import 'dart:io';
import 'package:mason_logger/mason_logger.dart';
import 'package:wyatt_continuous_deployment/src/bootstrap.dart';
import 'package:wyatt_continuous_deployment/src/wyatt_continuous_deployment_command_runner.dart';
Future<void> main(List<String> args) async {
await bootstrap(Logger());
await flushThenExit(await WyattContinuousDeploymentCommandRunner().run(args));
}
/// Flushes the stdout and stderr streams, then exits the program with the given
/// status code.
///
/// This returns a Future that will never complete, since the program will have
/// exited already. This is useful to prevent Future chains from proceeding
/// after you've decided to exit.
Future<dynamic> flushThenExit(int status) =>
Future.wait<void>([stdout.close(), stderr.close()])
.then<void>((_) => exit(status));