run method
Runs the scan command.
Implementation
Future<int> run() async {
if (priorityRoots.isEmpty && !includeDefaults) {
printError('Error: No scan roots specified. Use --root or --include-defaults');
return 1;
}
printVerbose('Scanning for Flutter projects...');
printVerbose('Priority roots: $priorityRoots');
printVerbose('Include defaults: $includeDefaults');
printVerbose('Include optional: $includeOptional');
printVerbose('Include global: $includeGlobal');
printVerbose('Max depth: ${maxDepth == 0 ? "unlimited" : maxDepth}');
try {
final result = await CacheScanner.scan(
priorityRoots: priorityRoots,
includeDefaults: includeDefaults,
includeOptional: includeOptional,
includeGlobal: includeGlobal,
maxDepth: maxDepth,
);
if (jsonOutput) {
_printJson(result);
} else {
_printHumanReadable(result);
}
return 0;
} catch (e) {
printError('Error during scan: $e');
return 1;
}
}