runSync$ method
dynamic
runSync$(})
Execute command and returns stdout
Implementation
dynamic runSync$(
List<String> command, {
dart_convert.Encoding? encoding,
String? workingDirectory,
Map<String, String>? environment,
bool includeParentEnvironment = true,
bool silent = false,
bool noPrompt = false,
bool returnCode = false,
bool autoQuote = true,
}) {
String executable = command[0];
List<String> arguments = command.sublist(1).toList();
encoding ??= this.encoding;
if (workingDirectory != null) {
workingDirectory = std_misc.pathExpand(workingDirectory);
}
workingDirectory ??= dart_io.Directory.current.absolute.path;
if (autoQuote) {
executable = _quote(executable);
arguments = arguments.map((x) => _quote(x)).toList();
}
String display = std_misc.joinCommandLine([executable, ...arguments]);
if (useUnixShell) {
String command = std_misc.joinCommandLine([executable, ...arguments]);
executable = unixShell;
arguments = ['-c', command];
} else {
executable = _unquote(executable);
arguments = arguments.map((x) => _unquote(x)).toList();
}
if (!noPrompt) {
//print('[$workingDirectory] \$ $display');
dart_io.stderr.write('[$workingDirectory] \$ $display\n');
}
dart_io.ProcessResult result = dart_io.Process.runSync(
executable,
arguments,
stdoutEncoding: encoding,
stderrEncoding: encoding,
workingDirectory: workingDirectory,
environment: environment,
includeParentEnvironment: includeParentEnvironment,
runInShell: !useUnixShell,
);
String stdoutString = (result.stdout as String).trim();
if (!silent) {
dart_io.stdout.write(stdoutString);
}
dart_io.stderr.write(result.stderr as String);
if (returnCode) {
return result.exitCode;
} else {
return stdoutString;
}
}