start method
Implementation
void start(String path) async {
if (_running) return;
_running = true;
final pkg = getPkgNameFromPath(path);
logPlugin("Creating log for $pkg package");
_buildRunnerSink = File(
_logUri.resolve("./brh_$pkg.log").toFilePath(),
).openWrite(mode: .writeOnly);
try {
final isWorkspace = await _isDartWorkspace(path);
final args = [
"run",
"build_runner",
"watch",
if (isWorkspace) "--workspace",
];
logPlugin("Starting Build Runner in $path using ${args.skip(1)}");
_process = await Process.start("dart", args, workingDirectory: path);
logPlugin("Attching stdout & stderr to Log File");
_stdGroup
..add(_process!.stdout)
..add(_process!.stderr);
_stdGroupSubscription = _stdGroup.stream
.transform(Utf8Decoder())
.listen(logBuildRunner);
logPlugin("Build Runner running in $path");
} catch (e) {
logPlugin("Error running Build Runner: $e");
_running = false;
}
}