run method

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

Runs this command.

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

Implementation

@override
Future<void> run() async {
  final projectName = _readProjectName();
  final options = _optionsResolver.resolve(argResults!, usage: usage);

  logger.info('Selected options:');
  options.forEach((key, value) => logger.detail('  $key: $value'));

  if (argResults!['dry-run'] as bool) {
    _printDryRun(projectName, options);
    return;
  }

  logger.info('Creating Flutter project "$projectName"...');
  await _scaffolder.scaffold(projectName, options);
  logger.success('Project created successfully.');
}