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 config = await runWizard();
  if (config == null) return;

  if (argResults!['save-config'] as bool) {
    final configPath = '${config.outputDir}/blueprint.yaml';
    await YamlWriter.write(config, configPath);
    print('  āœ“ Config saved to $configPath');
  }

  print('\nApplying ...\n');
  final ok = await applyConfig(config);

  if (ok) {
    print('\nāœ“ ${config.name} created successfully in ${config.outputDir}');
    print('');
    print('Next steps:');
    print('  cd ${config.outputDir}');
    print('  flutter pub get');
    print('  flutter run');
  } else {
    stderr.writeln('\nāœ— Some packs failed. Check the output above for details.');
    exit(1);
  }
}