runScripts static method
Future<void>
runScripts(
- List<
String> commands, - String workingDirectory,
- CommandLogger logger, {
- required String scriptType,
Implementation
static Future<void> runScripts(
final List<String> commands,
final String workingDirectory,
final CommandLogger logger, {
required final String scriptType,
}) async {
if (commands.isEmpty) {
return;
}
logger.info('Running $scriptType scripts', newParagraph: true);
for (var i = 0; i < commands.length; i++) {
final command = commands[i];
logger.info(
'(${i + 1}/${commands.length}) $command',
newParagraph: i == 0,
);
int exitCode;
try {
exitCode = await execute(
command,
stderr: stderr,
stdout: stdout,
workingDirectory: Directory(workingDirectory),
);
} on Exception catch (e, stackTrace) {
throw ErrorExitException(
'$scriptType script failed: "$command"',
e,
stackTrace,
);
}
if (exitCode != 0) {
throw ErrorExitException(
'$scriptType script failed with exit code $exitCode: "$command"',
);
}
}
}