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 List<_CheckResult> results = <_CheckResult>[];

  results.add(await _checkFxYaml());
  results.add(await _checkFlutter());
  results.add(await _checkRust());
  results.add(await _checkServerEnv());
  if (Project.config.hasMysql) {
    results.add(await _checkMySQL());
  }

  print('');
  print('Doctor summary:');
  final int passed = results.where((_CheckResult r) => r.ok).length;
  print('  $passed/${results.length} checks passed.');
  if (results.any((_CheckResult r) => !r.ok)) {
    exit(1);
  }
}