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";
case "arm": {
arch = "armhf";
case "aarch64_be":
case "armv8b":
case "armv8l":
case "aarch64": {
arch = "arm64";
default: {
arch = "other";
return getOSName() + '-' + arch;
public static String getLibExtension() {
switch (getOSName()) {
case "macos": {
return ".dylib";
case "linux": {
return ".so";
case "windows": {
return ".dll";
return "";