aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorChocohead <Chocohead@users.noreply.github.com>2021-01-24 14:39:52 +0000
committerGitHub <noreply@github.com>2021-01-24 14:39:52 +0000
commitba3a1e4d9c407a476089fd87b391a9f61712319f (patch)
tree8ffa319b87a258b68288448731a9ac7b1ae98748 /src/main/java
parentf7efac5d18e8e8976b098750cde67c9be90296fe (diff)
downloadarchitectury-loom-ba3a1e4d9c407a476089fd87b391a9f61712319f.tar.gz
architectury-loom-ba3a1e4d9c407a476089fd87b391a9f61712319f.tar.bz2
architectury-loom-ba3a1e4d9c407a476089fd87b391a9f61712319f.zip
Use the given manifest version hash if possible (#337)
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java12
-rw-r--r--src/main/java/net/fabricmc/loom/configuration/providers/minecraft/ManifestVersion.java2
2 files changed, 5 insertions, 9 deletions
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java b/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
index 7a9737f4..bbb6d196 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProvider.java
@@ -31,8 +31,6 @@ import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Optional;
import java.util.function.Consumer;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
import java.util.zip.ZipError;
import com.google.common.io.Files;
@@ -170,13 +168,11 @@ public class MinecraftProvider extends DependencyProvider {
} else {
getProject().getLogger().debug("Downloading Minecraft {} manifest", minecraftVersion);
- String url = optionalVersion.get().url;
- // Find the sha1 of the json from the url, return true if it matches the local json
- Pattern sha1Pattern = Pattern.compile("\\b[0-9a-f]{5,40}\\b");
- Matcher matcher = sha1Pattern.matcher(url);
+ ManifestVersion.Versions version = optionalVersion.get();
+ String url = version.url;
- if (matcher.find()) {
- HashedDownloadUtil.downloadIfInvalid(new URL(url), minecraftJson, matcher.group(), getProject().getLogger(), true);
+ if (version.sha1 != null) {
+ HashedDownloadUtil.downloadIfInvalid(new URL(url), minecraftJson, version.sha1, getProject().getLogger(), true);
} else {
// Use the etag if no hash found from url
DownloadUtil.downloadIfChanged(new URL(url), minecraftJson, getProject().getLogger());
diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/ManifestVersion.java b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/ManifestVersion.java
index 4cc2e33e..8ab01007 100644
--- a/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/ManifestVersion.java
+++ b/src/main/java/net/fabricmc/loom/configuration/providers/minecraft/ManifestVersion.java
@@ -31,6 +31,6 @@ public class ManifestVersion {
public List<Versions> versions = new ArrayList<>();
public static class Versions {
- public String id, url;
+ public String id, url, sha1;
}
}