X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.init%2Fsrc%2Forg%2Fargeo%2Finit%2Fa2%2FA2Contribution.java;h=9de09cecfe1100271d3291462bdb2c2d2f8f4b92;hb=c692c089327ab02a19dc5dae90bb003cdf75956d;hp=9d1348294925c1d8a0d6be4ddcb4006eeaab1fe3;hpb=9fad2d8a577f017de8365265a4881dabc1e4ed3f;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.init/src/org/argeo/init/a2/A2Contribution.java b/org.argeo.init/src/org/argeo/init/a2/A2Contribution.java index 9d1348294..9de09cecf 100644 --- a/org.argeo.init/src/org/argeo/init/a2/A2Contribution.java +++ b/org.argeo.init/src/org/argeo/init/a2/A2Contribution.java @@ -13,6 +13,9 @@ public class A2Contribution implements Comparable { final static String RUNTIME = "runtime"; final static String CLASSPATH = "classpath"; + final static String DEFAULT = "default"; + final static String LIB = "lib"; + private final ProvisioningSource source; private final String id; @@ -85,4 +88,64 @@ public class A2Contribution implements Comparable { } } + static String localOsArchRelativePath() { + return Os.local().toString() + "/" + Arch.local().toString(); + } + + static enum Os { + LINUX, WIN32, MACOSX, UNKOWN; + + @Override + public String toString() { + return name().toLowerCase(); + } + + public static Os local() { + String osStr = System.getProperty("os.name").toLowerCase(); + if (osStr.startsWith("linux")) + return LINUX; + if (osStr.startsWith("win")) + return WIN32; + if (osStr.startsWith("mac")) + return MACOSX; + return UNKOWN; + } + + } + + static enum Arch { + X86_64, AARCH64, X86, POWERPC, UNKOWN; + + @Override + public String toString() { + return name().toLowerCase(); + } + + public static Arch local() { + String archStr = System.getProperty("os.arch").toLowerCase(); + return switch (archStr) { + case "x86_64": + case "amd64": + case "x86-64": { + yield X86_64; + } + case "aarch64": + case "arm64": { + yield AARCH64; + } + case "x86": + case "i386": + case "i686": { + yield X86; + } + case "powerpc": + case "ppc": { + yield POWERPC; + } + default: + yield UNKOWN; + }; + } + } + }