execute method

Future<ExecResult> execute({
  1. required String nodeId,
  2. required String command,
  3. List<String> args = const [],
  4. Map<String, String> env = const {},
  5. String? cwd,
})

Runs command to completion on nodeId, capturing its output.

Implementation

Future<ExecResult> execute({
  required String nodeId,
  required String command,
  List<String> args = const [],
  Map<String, String> env = const {},
  String? cwd,
}) async {
  final out = BytesBuilder(copy: false);
  final err = BytesBuilder(copy: false);
  final code = await executeStreaming(
    nodeId: nodeId,
    command: command,
    args: args,
    env: env,
    cwd: cwd,
    onStdout: out.add,
    onStderr: err.add,
  );
  return ExecResult(
    exitCode: code,
    stdout: out.takeBytes(),
    stderr: err.takeBytes(),
  );
}