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 {
  Logger.header('srik_cli doctor');
  Logger.plain('');

  var allOk = true;

  // Check Dart
  final dartOk = await _check('dart', ['--version']);
  allOk &= dartOk;

  // Check Flutter
  final flutterOk = await _check('flutter', ['--version']);
  allOk &= flutterOk;

  // Check git
  final gitOk = await _check('git', ['--version']);
  allOk &= gitOk;

  Logger.plain('');
  if (allOk) {
    Logger.success('All checks passed. You are ready to run `srik create`.');
    return 0;
  } else {
    Logger.warn('Some checks failed. Install missing tools and retry.');
    return 1;
  }
}