run method

Future<bool> run({
  1. required String message,
  2. required String executable,
  3. required List<String> arguments,
  4. required String failureMessage,
  5. required String successMessage,
  6. String? workingDirectory,
})

Implementation

Future<bool> run({
  required String message,
  required String executable,
  required List<String> arguments,
  required String failureMessage,
  required String successMessage,
  String? workingDirectory,
}) async {
  final progress = _logger.progress(message);
  final result = await Process.run(
    executable,
    arguments,
    workingDirectory: workingDirectory,
    runInShell: true,
  );

  if (result.exitCode != 0) {
    progress.fail(failureMessage);
    _logger.err(result.stderr.toString());
    return false;
  }

  progress.complete(successMessage);
  return true;
}