runCommand method
Implementation
@override
Future<int> runCommand() async {
final dryRun = argResults!['dry-run'] == true;
final assumeYes = argResults!['yes'] == true;
final scanner = ScannerService(
fileSystem: context.fileSystem,
platform: context.platform,
);
final caches = await scanner.cacheEntries();
for (final entry in caches) {
logger.info('${formatBytes(entry.bytes).padLeft(10)} ${entry.path}');
}
if (dryRun) return CleanerExitCode.success.code;
if (!context.terminal.confirm(
'Run flutter pub cache gc?',
defaultValue: false,
assumeYes: assumeYes,
)) {
logger.warn('Cache GC cancelled.', tag: 'CACHE');
return CleanerExitCode.success.code;
}
final result = await _runFlutterPubCacheGc(context.process);
if (result.exitCode != 0) {
logger.err('${result.stderr}'.trim());
return result.exitCode;
}
logger.success(
'${result.stdout}'.trim().isEmpty
? 'Flutter pub cache GC complete.'
: '${result.stdout}'.trim(),
);
return CleanerExitCode.success.code;
}