run method

  1. @override
Future<int> run()
override

Runs this command.

The return value is wrapped in a Future if necessary and returned by CommandRunner.runCommand.

Implementation

@override
Future<int> run() async {
  final options = PubUpgradeOptions.fromArgResults(argResults!);
  final arguments = [
    'pub',
    ...buildGlobalArgs(options.globalPubOptions),
    'upgrade',
    if (options.offline) '--offline',
    if (options.dryRun) '--dry-run',
    if (options.precompile) '--precompile',
    if (options.tighten) '--tighten',
    if (options.unlockTransitive) '--unlock-transitive',
    if (options.majorVersions) '--major-versions',
    ...argResults!.rest,
  ];

  if (options.globalPubOptions.globalOptions.verbose) {
    logger.info('Running: dart ${arguments.join(' ')}');
  }

  final exitCode = await runDartProcess(
    arguments: arguments,
    workingDirectory: options.globalPubOptions.globalOptions.directory,
    environment: getCacheEnv(options.globalPubOptions.cacheDir),
  );

  return exitCode;
}