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.info('Cleaning project...');
  try {
    final sdkInfo = await _flutterSdkService.getSdkInfo();
    final result = await _processService.run(sdkInfo.executablePath, ['clean']);
    if (result.exitCode != 0) {
      _logger.err('Failed to clean project: ${result.stderr}');
      return 1;
    }
    _logger.success('Project cleaned successfully.');
    return 0;
  } catch (e) {
    _logger.err('Failed to clean project: $e');
    return 1;
  }
}