cleanCoverageFile method
Implementation
Future<List<String>> cleanCoverageFile(
List<Glob> globs, String pathToCoverageFile) async {
final f = File(pathToCoverageFile);
final List<String> removedFiles = [];
bool keep = true;
bool keeper(String line) {
if (line.startsWith('SF:') && matchesGlob(globs, line)) {
removedFiles.add(line.substring(3));
keep = false;
} else {
if (!keep && line == 'end_of_record') {
keep = true;
return false;
}
}
return keep;
}
final lines = await f.readAsLines();
await f.writeAsString(lines.where(keeper).join('\n'));
return removedFiles;
}