run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
Future<void> run() async {
logger.info('Rekeens CLI Doctor');
logger.info('');
var allGood = true;
allGood = await _checkTool('Dart', ['--version']) && allGood;
allGood = await _checkTool('Flutter', ['--version']) && allGood;
allGood = await _checkTool('Git', ['--version']) && allGood;
logger.info('');
logger.info('Optional tools');
logger.info('');
final androidOk = await _checkAndroidSdk();
final xcodeOk = await _checkXcode();
final chromeOk = await _checkChrome();
final optionalOk = androidOk && xcodeOk && chromeOk;
logger.info('');
if (allGood) {
logger.success('Core environment is ready.');
} else {
logger.err('Some core tools are missing or not in PATH.');
exitCode = 1;
}
if (optionalOk) {
logger.success('All optional tools are available.');
} else {
logger.warn(
'Some optional tools are missing (mobile/web development may be limited).',
);
}
}