update process
This commit is contained in:
parent
3a7793a9ba
commit
a66ce6ee5c
1 changed files with 9 additions and 13 deletions
|
|
@ -14,10 +14,11 @@ class ProcessData {
|
|||
Function(ProcessData)? _endListener;
|
||||
late StringBuffer stdout;
|
||||
late StringBuffer stderr;
|
||||
bool enableStdout = true;
|
||||
bool enableStderr = true;
|
||||
bool _enableStdout;
|
||||
bool _enableStderr;
|
||||
|
||||
ProcessData(_enableStdout, _enableStderr);
|
||||
// ignore: no_leading_underscores_for_local_identifiers
|
||||
ProcessData(this._enableStdout, this._enableStderr);
|
||||
|
||||
Function(ProcessData)? get endListener {
|
||||
return _endListener;
|
||||
|
|
@ -53,14 +54,14 @@ class ProcessData {
|
|||
stderr = StringBuffer();
|
||||
process.stdout.transform(utf8.decoder).listen((event) {
|
||||
stdout.writeln(event);
|
||||
if (enableStdout) {
|
||||
if (_enableStdout) {
|
||||
print(event);
|
||||
}
|
||||
});
|
||||
process.stderr.transform(utf8.decoder).listen((event) {
|
||||
stderr.writeln(event);
|
||||
if (enableStderr) {
|
||||
print(event);
|
||||
if (_enableStderr) {
|
||||
print('======================= $event');
|
||||
}
|
||||
});
|
||||
isRunning = true;
|
||||
|
|
@ -100,11 +101,9 @@ class ProcessData {
|
|||
class ProcessExecutor {
|
||||
static Future<ProcessData> startExe(String exe, List<String> args,
|
||||
{String? workspace, bool? enableStdout, bool? enableStderr}) async {
|
||||
enableStdout ??= true;
|
||||
enableStderr ??= true;
|
||||
var c = Completer<ProcessData>();
|
||||
var arg = '$exe ${args.join(' ')}';
|
||||
var processData = ProcessData(enableStdout, enableStderr);
|
||||
var processData = ProcessData(enableStdout ?? true, enableStderr ?? true);
|
||||
if (Platform.isMacOS || Platform.isWindows) {
|
||||
workspace = workspace ?? Directory.systemTemp.path;
|
||||
print('Execute Shell: $arg');
|
||||
|
|
@ -124,11 +123,8 @@ class ProcessExecutor {
|
|||
static Future<ProcessData> start(StringBuffer shell,
|
||||
{String? workspace, bool? enableStdout, bool? enableStderr}) async {
|
||||
var c = Completer<ProcessData>();
|
||||
enableStdout ??= true;
|
||||
enableStderr ??= true;
|
||||
|
||||
try {
|
||||
var processData = ProcessData(enableStdout, enableStderr);
|
||||
var processData = ProcessData(enableStdout ?? true, enableStderr ?? true);
|
||||
if (Platform.isMacOS || Platform.isLinux) {
|
||||
workspace = workspace ?? Directory.systemTemp.path;
|
||||
var file = File('$workspace/$tempFileName');
|
||||
|
|
|
|||
Loading…
Reference in a new issue