definedHooks method
Implementation
(List<DefinedHook>, int?) definedHooks(String root) {
final definedHooksDir = fs.directory(fs.path.join(root, 'hooks'));
if (!definedHooksDir.existsSync()) {
logger.err('No hooks defined');
return ([], 1);
}
final dartGlob = Glob('*.dart');
final dartFound =
dartGlob.listFileSystemSync(fs, root: definedHooksDir.path);
final shellGlob = Glob('*.sh');
final shellFound =
shellGlob.listFileSystemSync(fs, root: definedHooksDir.path);
final definedHooks = [
for (final entity in dartFound)
if (entity is File) DefinedHook(entity.path),
for (final entity in shellFound)
if (entity is File) DefinedHook(entity.path),
];
if (definedHooks.isEmpty) {
logger.err('No hooks to register');
return ([], 1);
}
final s = definedHooks.length > 1 ? 's' : '';
logger.info(green.wrap('Found ${definedHooks.length} hook$s'));
for (final hook in definedHooks) {
logger.info(darkGray.wrap(' - ${p.basename(hook.fileName)}'));
}
logger.write('\n');
return (definedHooks, null);
}