getFiles function
getFiles.
Get all dart files on path
directory (e.g. lib directory), recursive to all
sub-directories.
exclude
is the list of string to filter/exclude any files (contain).
includes
is the list of string to filter/include any files (contain).
Implementation
Future<List<FileEntity>> getFiles(String path, List<String> excludes,
List<String> includes, String module) async {
final dir = Directory(path);
final files = await dir.list(recursive: true).toList();
final List<FileEntity> list = [];
files.forEach((element) {
final String file = element.uri.toString();
if (file.split(PrintCovConstants.dot).last == PrintCovConstants.dart &&
(excludes.isEmpty || !_isContain(excludes, file)) &&
(includes.isEmpty || _isContain(includes, file))) {
String strFile = replaceSlash(element.uri.toString());
if (module.isNotEmpty) {
strFile = strFile.replaceFirst('$module/', '');
}
final file = FileEntity(strFile);
list.add(file);
}
});
list.sort((a, b) => a.compareTo(b));
return list;
}