diff options
Diffstat (limited to 'src/main/java/net/fabricmc/loom/util/OperatingSystem.java')
-rw-r--r-- | src/main/java/net/fabricmc/loom/util/OperatingSystem.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/net/fabricmc/loom/util/OperatingSystem.java b/src/main/java/net/fabricmc/loom/util/OperatingSystem.java index 38e2eb4a..9df41edb 100644 --- a/src/main/java/net/fabricmc/loom/util/OperatingSystem.java +++ b/src/main/java/net/fabricmc/loom/util/OperatingSystem.java @@ -24,6 +24,11 @@ package net.fabricmc.loom.util; +import java.io.IOException; +import java.io.UncheckedIOException; +import java.net.StandardProtocolFamily; +import java.nio.channels.ServerSocketChannel; + public class OperatingSystem { public static String getOS() { String osName = System.getProperty("os.name").toLowerCase(); @@ -63,4 +68,15 @@ public class OperatingSystem { // CI seems to be set by most popular CI services return System.getenv("CI") != null; } + + // Requires Unix, or Windows 10 17063 or later. See: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ + public static boolean isUnixDomainSocketsSupported() { + try (ServerSocketChannel serverChannel = ServerSocketChannel.open(StandardProtocolFamily.UNIX)) { + return true; + } catch (UnsupportedOperationException e) { + return false; + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } } |