mirror of
https://github.com/HMCL-dev/HMCL.git
synced 2025-02-17 17:09:55 +08:00
select classifier according to the platform
This commit is contained in:
parent
ba33b927a7
commit
5310de88d5
@ -79,18 +79,34 @@ public final class SelfDependencyPatcher {
|
||||
|
||||
static class DependencyDescriptor {
|
||||
|
||||
// private static final String REPOSITORY_URL = System.getProperty("hmcl.openjfx.repo", "https://maven.aliyun.com/repository/central/");
|
||||
private static final Path DEPENDENCIES_DIR_PATH = HMCL_DIRECTORY.resolve("dependencies");
|
||||
|
||||
public static final String CURRENT_ARCH_CLASSIFIER = currentArchClassifier();
|
||||
|
||||
private static String currentArchClassifier() {
|
||||
switch (OperatingSystem.CURRENT_OS) {
|
||||
case LINUX:
|
||||
return "linux";
|
||||
case OSX:
|
||||
return "mac";
|
||||
default:
|
||||
return "win";
|
||||
if (OperatingSystem.CURRENT_OS == OperatingSystem.LINUX) {
|
||||
switch (Architecture.CURRENT) {
|
||||
case X86_64:
|
||||
return "linux";
|
||||
case ARM64:
|
||||
return "linux-aarch64";
|
||||
}
|
||||
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.OSX) {
|
||||
switch (Architecture.CURRENT) {
|
||||
case X86_64:
|
||||
return "mac";
|
||||
case ARM64:
|
||||
return "mac-aarch64";
|
||||
}
|
||||
} else if (OperatingSystem.CURRENT_OS == OperatingSystem.WINDOWS) {
|
||||
switch (Architecture.CURRENT) {
|
||||
case X86_64:
|
||||
return "win";
|
||||
case X86:
|
||||
return "win-x86";
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String module;
|
||||
@ -100,14 +116,23 @@ public final class SelfDependencyPatcher {
|
||||
public Map<String, String> sha1;
|
||||
|
||||
public String filename() {
|
||||
return artifactId + "-" + version + "-" + currentArchClassifier() + ".jar";
|
||||
if (CURRENT_ARCH_CLASSIFIER == null) {
|
||||
return null;
|
||||
}
|
||||
return artifactId + "-" + version + "-" + CURRENT_ARCH_CLASSIFIER + ".jar";
|
||||
}
|
||||
|
||||
public String sha1() {
|
||||
return sha1.get(currentArchClassifier());
|
||||
if (CURRENT_ARCH_CLASSIFIER == null) {
|
||||
return null;
|
||||
}
|
||||
return sha1.get(CURRENT_ARCH_CLASSIFIER);
|
||||
}
|
||||
|
||||
public Path localPath() {
|
||||
if (CURRENT_ARCH_CLASSIFIER == null) {
|
||||
return null;
|
||||
}
|
||||
return DEPENDENCIES_DIR_PATH.resolve(filename());
|
||||
}
|
||||
}
|
||||
@ -192,9 +217,8 @@ public final class SelfDependencyPatcher {
|
||||
throw new IncompatibleVersionException();
|
||||
}
|
||||
|
||||
// We can only self-patch JavaFX on x86-64 platform.
|
||||
// For ARM support, user's manual patch is required.
|
||||
if (Architecture.CURRENT != Architecture.X86_64) {
|
||||
// We can only self-patch JavaFX on specific platform.
|
||||
if (DependencyDescriptor.CURRENT_ARCH_CLASSIFIER == null) {
|
||||
throw new IncompatibleVersionException();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user