diff options
author | Chocohead <Chocohead@users.noreply.github.com> | 2021-01-24 14:39:52 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-24 14:39:52 +0000 |
commit | ba3a1e4d9c407a476089fd87b391a9f61712319f (patch) | |
tree | 8ffa319b87a258b68288448731a9ac7b1ae98748 /src/main/java | |
parent | f7efac5d18e8e8976b098750cde67c9be90296fe (diff) | |
download | architectury-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.java | 12 | ||||
-rw-r--r-- | src/main/java/net/fabricmc/loom/configuration/providers/minecraft/ManifestVersion.java | 2 |
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; } } |