executeHook function
Implementation
Future<void> executeHook(String name, Hook hook, List<String> args) async {
if (shouldSkipHooks()) {
exit(0);
}
final stdinContent = await _readStdin();
final bound = bindHookInvocation(
name: name,
hook: hook,
args: args,
stdinContent: stdinContent,
);
final remoteName = bound.remoteName;
final remoteUrl = bound.remoteUrl;
final boundHook = bound.boundHook;
final context = bound.context;
final logger = Logger();
if (boundHook.verbose) {
logger.level = Level.verbose;
} else {
logger.level = Level.error;
}
return runScoped(
() => _run(name, boundHook),
values: {
argsProvider.overrideWith(
() => Args(
args: {'loud': boundHook.verbose, 'quiet': !boundHook.verbose},
),
),
loggerProvider.overrideWith(() => logger),
gitProvider.overrideWith(
() => GitService(remoteName: remoteName, remoteUrl: remoteUrl),
),
hookContextProvider.overrideWith(() => context),
fsProvider,
processProvider,
compilerProvider,
stdoutProvider,
},
);
}