compile method
Future<List<String> ?>
compile(
- Iterable<
({String executablePath, Future< executablesToCompile,ProcessResult> process})> - void fail()
Implementation
Future<List<String>?> compile(
Iterable<({String executablePath, Future<ProcessResult> process})>
executablesToCompile,
void Function(String) fail,
) async {
final (paths: executables, processes: toCompile) = executablesToCompile
.fold((paths: <String>[], processes: <Future<ProcessResult>>[]),
(acc, e) {
return acc
..paths.add(e.executablePath)
..processes.add(e.process);
});
final results = await Future.wait(toCompile);
for (final result in results) {
if (result.exitCode != 0) {
fail('Failed to compile ${result.stderr}');
return null;
}
}
return executables;
}