支持下载 OpenJ9 (#3363)

* 支持下载 OpenJ9

* update
This commit is contained in:
Glavo 2024-10-19 22:59:40 +08:00 committed by GitHub
parent 5c767deaf3
commit a27671560d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 17 additions and 3 deletions

View File

@ -312,8 +312,15 @@ public final class JavaDownloadDialog extends StackPane {
getIntegrityCheck = Task.completed(new FileDownloadTask.IntegrityCheck(fileInfo.getChecksumType(), fileInfo.getChecksum())); getIntegrityCheck = Task.completed(new FileDownloadTask.IntegrityCheck(fileInfo.getChecksumType(), fileInfo.getChecksum()));
else if (StringUtils.isNotBlank(fileInfo.getChecksumUri())) else if (StringUtils.isNotBlank(fileInfo.getChecksumUri()))
getIntegrityCheck = new GetTask(downloadProvider.injectURLWithCandidates(fileInfo.getChecksumUri())) getIntegrityCheck = new GetTask(downloadProvider.injectURLWithCandidates(fileInfo.getChecksumUri()))
.thenApplyAsync(checksum -> .thenApplyAsync(checksum -> {
new FileDownloadTask.IntegrityCheck(fileInfo.getChecksumType(), checksum.trim())); checksum = checksum.trim();
int idx = checksum.indexOf(' ');
if (idx > 0)
checksum = checksum.substring(0, idx);
return new FileDownloadTask.IntegrityCheck(fileInfo.getChecksumType(), checksum);
});
else else
throw new IOException("Unable to get checksum for file"); throw new IOException("Unable to get checksum for file");

View File

@ -35,6 +35,7 @@ import static org.jackhuang.hmcl.util.platform.OperatingSystem.*;
/** /**
* @author Glavo * @author Glavo
* @see <a href="https://github.com/foojayio/discoapi">discoapi</a>
*/ */
public enum DiscoJavaDistribution implements JavaDistribution<DiscoJavaRemoteVersion> { public enum DiscoJavaDistribution implements JavaDistribution<DiscoJavaRemoteVersion> {
TEMURIN("Eclipse Temurin", "temurin", "Adoptium", TEMURIN("Eclipse Temurin", "temurin", "Adoptium",
@ -65,7 +66,13 @@ public enum DiscoJavaDistribution implements JavaDistribution<DiscoJavaRemoteVer
EnumSet.of(JDK), EnumSet.of(JDK),
pair(WINDOWS, EnumSet.of(X86_64)), pair(WINDOWS, EnumSet.of(X86_64)),
pair(LINUX, EnumSet.of(X86_64, ARM64)), pair(LINUX, EnumSet.of(X86_64, ARM64)),
pair(OSX, EnumSet.of(X86_64, ARM64))); pair(OSX, EnumSet.of(X86_64, ARM64))),
SEMERU("IBM Semeru (OpenJ9)", "semeru", "IBM",
EnumSet.of(JDK, JRE),
pair(WINDOWS, EnumSet.of(X86_64)),
pair(LINUX, EnumSet.of(X86_64, ARM64, PPC64LE, S390X)),
pair(OSX, EnumSet.of(X86_64, ARM64))
);
public static DiscoJavaDistribution of(String name) { public static DiscoJavaDistribution of(String name) {
for (DiscoJavaDistribution distribution : values()) { for (DiscoJavaDistribution distribution : values()) {