This repository has been archived on 2023-11-26. You can view files and clone it, but cannot push or open issues or pull requests.
ScriptCraft/scriptcraft/src/main/java/com/thebrokenrail/scriptcraft/core/OSUtil.java

69 lines
1.6 KiB
Java

package com.thebrokenrail.scriptcraft.core;
import java.util.Locale;
public class OSUtil {
private static String getOSName() {
String raw = System.getProperty("os.name").toLowerCase(Locale.ROOT);
if (raw.contains("mac")) {
return "macosx";
} else if (raw.contains("linux")) {
return "linux";
} else if (raw.contains("windows")) {
return "windows";
} else {
return "other";
}
}
public static String getOS() {
String raw = System.getProperty("os.arch");
String arch;
switch (raw) {
case "x86":
case "i386":
case "i686": {
arch = "x86";
break;
}
case "amd64": {
arch = "x86_64";
break;
}
case "arm": {
arch = "armhf";
break;
}
case "aarch64_be":
case "armv8b":
case "armv8l":
case "aarch64": {
arch = "arm64";
break;
}
default: {
arch = "other";
break;
}
}
return getOSName() + '-' + arch;
}
public static String getLibExtension() {
switch (getOSName()) {
case "macos": {
return ".dylib";
}
case "linux": {
return ".so";
}
case "windows": {
return ".dll";
}
default: {
return "";
}
}
}
}