Changeset View
Changeset View
Standalone View
Standalone View
files/use-dumb-terminal-settings-as-backup.patch
- This file was added.
| diff --git a/subprojects/native/src/main/java/org/gradle/internal/nativeintegration/console/NativePlatformConsoleDetector.java b/subprojects/native/src/main/java/org/gradle/internal/nativeintegration/console/NativePlatformConsoleDetector.java | |||||
| index 9a33da7801e..849fd2280e1 100644 | |||||
| --- a/subprojects/native/src/main/java/org/gradle/internal/nativeintegration/console/NativePlatformConsoleDetector.java | |||||
| +++ b/subprojects/native/src/main/java/org/gradle/internal/nativeintegration/console/NativePlatformConsoleDetector.java | |||||
| @@ -16,6 +16,8 @@ | |||||
| package org.gradle.internal.nativeintegration.console; | |||||
| +import net.rubygrapefruit.platform.NativeException; | |||||
| +import net.rubygrapefruit.platform.terminal.TerminalOutput; | |||||
| import net.rubygrapefruit.platform.terminal.Terminals; | |||||
| import org.gradle.internal.os.OperatingSystem; | |||||
| @@ -38,12 +40,13 @@ public ConsoleMetaData getConsole() { | |||||
| return null; | |||||
| } | |||||
| - boolean stdout = terminals.isTerminal(Stdout); | |||||
| - boolean stderr = terminals.isTerminal(Stderr); | |||||
| - if (stdout) { | |||||
| - return new NativePlatformConsoleMetaData(stdout, stderr, terminals.getTerminal(Stdout)); | |||||
| - } else if (stderr) { | |||||
| - return new NativePlatformConsoleMetaData(stdout, stderr, terminals.getTerminal(Stderr)); | |||||
| + TerminalOutput stdout = obtainTerminal(Stdout); | |||||
| + TerminalOutput stderr = obtainTerminal(Stderr); | |||||
| + | |||||
| + if (stdout != null) { | |||||
| + return new NativePlatformConsoleMetaData(true, stderr != null, stdout); | |||||
| + } else if (stderr != null) { | |||||
| + return new NativePlatformConsoleMetaData(false, true, stderr); | |||||
| } | |||||
| return null; | |||||
| } | |||||
| @@ -52,4 +55,17 @@ public ConsoleMetaData getConsole() { | |||||
| public boolean isConsoleInput() { | |||||
| return terminals.isTerminalInput(); | |||||
| } | |||||
| + | |||||
| + private TerminalOutput obtainTerminal(Terminals.Output output) { | |||||
| + if (!terminals.isTerminal(output)) { | |||||
| + return null; | |||||
| + } | |||||
| + | |||||
| + try { | |||||
| + return terminals.getTerminal(output); | |||||
| + } catch (NativeException ex) { | |||||
| + // couldn't find a termcap entry, so use dumb terminal settings | |||||
| + return null; | |||||
| + } | |||||
| + } | |||||
| } | |||||
Copyright © 2015-2021 Solus Project. The Solus logo is Copyright © 2016-2021 Solus Project. All Rights Reserved.