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 {
final results = argResults;
if (results == null) {
logger.stdout("You're missing things\n");
printUsage();
exit(0);
}
final List<String> exclusions = [];
if (results["exclusions"] != null &&
results["exclusions"] is List<String>) {
exclusions.addAll(results["exclusions"] as List<String>);
}
if (results["exclusions-file"] != null &&
results["exclusions-file"] is String) {
exclusions.addAll(
await parseExclusionsFile(results["exclusions-file"] as String));
}
if (exclusions.isEmpty) {
logger.stdout('No exclusions given. Nothing to do here\n');
printUsage();
exit(0);
}
final List<Glob> globs =
exclusions.map((e) => Glob(e, recursive: true)).toList();
logger.stdout('Excluding: $exclusions');
final covFile = argResults!.rest.first;
logger.stdout('From: $covFile');
final removedFiles = await cleanCoverageFile(globs, covFile);
logger.stdout('Removed files:');
for (final path in removedFiles) {
logger.stdout(' $path');
}
logger.stdout('\nAll clean');
}