startBuildRunner method
Future<void>
startBuildRunner(
{ - required String flutterExecutable,
- required Package package,
})
Implementation
Future<void> startBuildRunner({
required String flutterExecutable,
required Package package,
}) async {
_guardEntrypointContainsPackage(package);
if (!package.hasDependency('build_runner')) {
print(
'Skip "${package.name}" generation cause "build_runner" '
'dependency not registered by this package.\n\n',
);
return;
}
final controller = ShellLinesController();
final listen = controller.stream.listen(print);
final dir = package.directory.path;
final shell = Shell(
workingDirectory: dir,
stdout: controller.sink,
);
print('\n[${package.name}] build_runner started at directory "$dir"');
await shell.run(
'$flutterExecutable pub run build_runner build --delete-conflicting-outputs',
);
controller.close();
await listen.cancel();
}