From ba3a1e4d9c407a476089fd87b391a9f61712319f Mon Sep 17 00:00:00 2001 From: Chocohead Date: Sun, 24 Jan 2021 14:39:52 +0000 Subject: [PATCH 1/2] Use the given manifest version hash if possible (#337) --- .../configuration/providers/MinecraftProvider.java | 12 ++++-------- .../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 = new ArrayList<>(); public static class Versions { - public String id, url; + public String id, url, sha1; } } From 16f72e1c95d0f22a586e69a3d3c2e2ddeb8f676e Mon Sep 17 00:00:00 2001 From: Bytzo Date: Tue, 26 Jan 2021 10:08:19 -0800 Subject: [PATCH 2/2] Set classpath before compileJava task (#330) (#333) --- src/main/java/net/fabricmc/loom/task/AbstractRunTask.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java b/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java index a1bee96a..0f2f94a9 100644 --- a/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java +++ b/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java @@ -45,6 +45,9 @@ public abstract class AbstractRunTask extends JavaExec { super(); setGroup("fabric"); this.configProvider = config; + + classpath(getProject().getConfigurations().getByName("runtimeClasspath")); + classpath(this.getProject().getExtensions().getByType(LoomGradleExtension.class).getUnmappedModCollection()); } @Override @@ -53,9 +56,6 @@ public abstract class AbstractRunTask extends JavaExec { config = configProvider.apply(getProject()); } - classpath(getProject().getConfigurations().getByName("runtimeClasspath")); - classpath(this.getProject().getExtensions().getByType(LoomGradleExtension.class).getUnmappedModCollection()); - List argsSplit = new ArrayList<>(); String[] args = config.programArgs.split(" "); int partPos = -1;