diff --git a/packages/cli/bin/main.dart b/packages/cli/bin/main.dart index a96d1759..e7203067 100644 --- a/packages/cli/bin/main.dart +++ b/packages/cli/bin/main.dart @@ -1,5 +1,8 @@ +import 'dart:io'; + import 'package:fvm/fvm.dart'; Future main(List arguments) async { await fvmRunner(arguments); + exit(exitCode); } diff --git a/packages/cli/lib/src/commands/use_command.dart b/packages/cli/lib/src/commands/use_command.dart index 355386db..77076779 100644 --- a/packages/cli/lib/src/commands/use_command.dart +++ b/packages/cli/lib/src/commands/use_command.dart @@ -1,5 +1,3 @@ -import 'dart:io'; - import 'package:args/command_runner.dart'; import 'package:cli_dialog/cli_dialog.dart'; @@ -84,6 +82,5 @@ class UseCommand extends Command { await useVersionWorkflow(validVersion, global: global, force: force); await checkIfLatestVersion(); - exit(0); } } diff --git a/packages/cli/lib/src/runner.dart b/packages/cli/lib/src/runner.dart index c73caad4..271e2b60 100644 --- a/packages/cli/lib/src/runner.dart +++ b/packages/cli/lib/src/runner.dart @@ -31,18 +31,20 @@ Future fvmRunner(List args) async { runner..addCommand(ConfigCommand()); runner..addCommand(ReleasesCommand()); - return await runner.run(args).catchError((exc, st) { + try { + await runner.run(args); + } catch (exc, st) { if (exc is String) { FvmLogger.warning(exc); } else { FvmLogger.warning('${yellow.wrap(exc.toString())}'); if (args.contains('--verbose')) { FvmLogger.error(st.toString()); - throw exc; + rethrow; } } exitCode = 1; - }).whenComplete(() {}); + } } /// Builds FVM Runner