runBuildRunner static method

Future<void> runBuildRunner({
  1. required Directory projectRoot,
})

Run build_runner in the given projectRoot directory after feature generation.

Implementation

static Future<void> runBuildRunner({required Directory projectRoot}) async {
  stdout.writeln('\nāš™ Running build_runner...');

  final result = await Process.run(
    'dart',
    ['run', 'build_runner', 'build', '--delete-conflicting-outputs'],
    workingDirectory: projectRoot.path,
    runInShell: true,
  );

  if (result.exitCode != 0) {
    stderr.writeln('āŒ build_runner failed');
    stderr.writeln(result.stderr);
    return;
  }

  stdout.writeln('āœ… build_runner completed');
  stdout.writeln(result.stdout);
}