runBuildRunner function

Future<void> runBuildRunner(
  1. HookContext context
)

Implementation

Future<void> runBuildRunner(HookContext context) async {
  try {
    final progress = context.logger.progress('Running build_runner...');
    progress.update('Running build_runner...');
    var process = await Process.start('flutter', ['pub', 'run', 'build_runner', 'build', '--delete-conflicting-outputs']);

    process.stderr.transform(utf8.decoder).listen((event) {
      context.logger.err(event.toString());
    });

    progress.update('Running build_runner...');

    final exitCode = await process.exitCode;

    if (exitCode != 0) {
      throw Exception('build_runner failed with exit code $exitCode.');
    }

    progress.complete('build_runner completed successfully.');
  } catch (e) {
    context.logger.err(e.toString());
  }
}