From 48b18c2f2088fdb3a5498111f86b7b9a4d06f6ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=8A?= =?UTF-8?q?=D1=80=20=D0=9A=D1=83=D1=80=D1=82=D0=B0=D0=BA=D0=BE=D0=B2?= Date: Mon, 18 Nov 2024 20:58:52 +0200 Subject: [PATCH] Simplify Process streams handling Use the readers directly instead of manually creating readers on top of the process's streams. --- .../embedder/node/NodeJSManager.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/org.eclipse.wildwebdeveloper.embedder.node/src/org/eclipse/wildwebdeveloper/embedder/node/NodeJSManager.java b/org.eclipse.wildwebdeveloper.embedder.node/src/org/eclipse/wildwebdeveloper/embedder/node/NodeJSManager.java index 1ef0fdfc9f..f4df14e6c8 100644 --- a/org.eclipse.wildwebdeveloper.embedder.node/src/org/eclipse/wildwebdeveloper/embedder/node/NodeJSManager.java +++ b/org.eclipse.wildwebdeveloper.embedder.node/src/org/eclipse/wildwebdeveloper/embedder/node/NodeJSManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2019, 2022 Red Hat Inc. and others. + * Copyright (c) 2019, 2024 Red Hat Inc. and others. * * This program and the accompanying materials are made * available under the terms of the Eclipse Public License 2.0 @@ -20,7 +20,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; @@ -206,8 +205,7 @@ public static File which(String program) { } else if (Platform.getOS().equals(Platform.OS_MACOSX)) { command = new String[] { getDefaultShellMacOS(), "-c", "-li", "which " + program }; } - try (BufferedReader reader = new BufferedReader( - new InputStreamReader(Runtime.getRuntime().exec(command).getInputStream()));) { + try (BufferedReader reader = Runtime.getRuntime().exec(command).inputReader()) { res = reader.readLine(); } catch (IOException e) { ILog.get().error(e.getMessage(), e); @@ -297,8 +295,7 @@ private static final File getNodeJsExecutablen(File installationLocation, Proper private static String getDefaultShellMacOS() { String res = null; String[] command = { "/bin/bash", "-c", "-l", "dscl . -read ~/ UserShell" }; - try (BufferedReader reader = new BufferedReader( - new InputStreamReader(Runtime.getRuntime().exec(command).getInputStream()));) { + try (BufferedReader reader = Runtime.getRuntime().exec(command).inputReader()) { res = reader.readLine(); if (!res.startsWith(MACOS_DSCL_SHELL_PREFIX)) { ILog.get().error("Cannot find default shell. Use '/bin/zsh' instead."); @@ -323,8 +320,7 @@ private static void validateNodeVersion(File nodeJsLocation) { String nodeVersion = null; String[] nodeVersionCommand = { nodeJsLocation.getAbsolutePath(), "-v" }; - try (BufferedReader reader = new BufferedReader( - new InputStreamReader(Runtime.getRuntime().exec(nodeVersionCommand).getInputStream()));) { + try (BufferedReader reader = Runtime.getRuntime().exec(nodeVersionCommand).inputReader()) { nodeVersion = reader.readLine(); } catch (IOException e) { ILog.get().error(e.getMessage(), e);