run method

  1. @override
Future<void> run()
override

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');

  cleanCoverageFile(globs, covFile);

  logger.stdout('\nAll clean');
}