AutomaticVersionUpgraderCommandRunner constructor Null safety

AutomaticVersionUpgraderCommandRunner(
  1. {Analytics? analytics,
  2. Logger? logger,
  3. PubUpdater? pubUpdater}
)

A CommandRunner for the Automatic Version Upgrader CLI.

Implementation

AutomaticVersionUpgraderCommandRunner({
  Analytics? analytics,
  Logger? logger,
  PubUpdater? pubUpdater,
})  : _logger = logger ?? Logger(),
      _analytics =
          analytics ?? AnalyticsIO(_gaTrackingId, _gaAppName, packageVersion),
      _pubUpdater = pubUpdater ?? PubUpdater(),
      super(
        'automatic_version_upgrader',
        'A command line interface to upgrade your app version automatically in a CI/CD flow.',
      ) {
  argParser
    ..addFlag(
      'version',
      negatable: false,
      help: 'Print the current version.',
    )
    ..addOption(
      'analytics',
      help: 'Toggle anonymous usage statistics.',
      allowed: ['true', 'false'],
      allowedHelp: {
        'true': 'Enable anonymous usage statistics',
        'false': 'Disable anonymous usage statistics',
      },
    )
    ..addFlag(
      'verbose',
      help: 'Noisy logging, including all shell commands executed.',
    );
  addCommand(
    UpdateCommand(
      logger: _logger,
      pubUpdater: _pubUpdater,
      packageName: packageName,
    ),
  );
  addCommand(GooglePlayVersionCommand(logger: _logger));
  addCommand(AppStoreVersionCommand(logger: _logger));
}