getFilesNeedingGeneration method
Returns a list of CodeFile instances that represent the files that need code generation.
Implementation
List<CodeFile> getFilesNeedingGeneration() {
/// Files in "lib/" that needs code generation
final libDirectory = Directory(path.join(Utils.projectDirectory, 'lib'));
final libPathList = <CodeFileBuild>[];
final libFiles = libDirectory.listSync(
recursive: true,
followLinks: false,
);
for (final entity in libFiles) {
if (entity is! File || !entity.isDartSourceCodeFile()) continue;
final result = _parseFile(entity);
if (result != null) libPathList.add(result);
}
Logger.i(
'Found ${libPathList.length} files in "lib/" that supports code generation',
);
return libPathList
.map<CodeFile>(
(f) => CodeFile(
path: f.path,
digest: DigestUtils.generateDigestForClassFile(
_dependencyVisitor,
f.path,
),
suffix: f.suffix,
generatedType: f.type,
),
)
.toList();
}