run method

void run(
  1. List<String> arguments
)

Implementation

void run(List<String> arguments) {
  final runner =
      CommandRunner(FlutterReleaseXKstrings.packageName, description)
        ..addCommand(FlutterReleaseXBuildCommand())
        ..addCommand(FlutterReleaseXNotifyCommand())
        ..addCommand(FlutterReleaseXVersionCommand())
        ..addCommand(FlutterReleaseXCheckUpdateCommand())
        ..addCommand(FlutterReleaseXInitCommand());

  runner.argParser.addFlag(
    'version',
    abbr: 'v',
    negatable: false,
    help: 'Display version information.',
  );

  try {
    final ArgResults topLevel = runner.parse(arguments);

    // -v/--version, show version and exit
    if (topLevel['version'] == true) {
      print('🔧 FRX Version: ${FlutterReleaseXKstrings.version}');
      return;
    }

    // Check for updates in the background (non-blocking)
    // Skip if running check-update, version, or init commands
    if (!arguments.contains('check-update') &&
        !arguments.contains('version') &&
        !arguments.contains('init')) {
      _checkForUpdatesInBackground();
    }

    runner.run(arguments);
  } on UsageException catch (e) {
    print('${e.message}\n');
    print(
        'Usage: ${FlutterReleaseXKstrings.packageName} <command> [options]');
  } catch (e, stackTrace) {
    print('Unexpected error: $e');
    print(stackTrace);
  }
}