From 6695e2b5d16b6323261c79bd5125db637ce83167 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Sat, 10 Jul 2021 12:41:08 +0100 Subject: [PATCH 1/2] Use a fat mercury build with the correct versions of JDT included. (#429) --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e5e456c8..ba90d23c 100644 --- a/build.gradle +++ b/build.gradle @@ -68,7 +68,7 @@ dependencies { implementation ('org.benf:cfr:0.150') // source code remapping - implementation ('org.cadixdev:mercury:0.1.0-rc1') + implementation ('net.fabricmc:mercury:0.1.0') // Kapt integration compileOnly('org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.21') From 8e11e4a3851d4a95ca3e082b0be458586e67f871 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Fri, 16 Jul 2021 22:48:50 +0100 Subject: [PATCH 2/2] Actually handle gzip encoded connections when downloading. --- src/main/java/net/fabricmc/loom/util/DownloadUtil.java | 10 +++++++++- .../net/fabricmc/loom/util/HashedDownloadUtil.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java index 115e53d8..b23ec103 100644 --- a/src/main/java/net/fabricmc/loom/util/DownloadUtil.java +++ b/src/main/java/net/fabricmc/loom/util/DownloadUtil.java @@ -26,9 +26,11 @@ package net.fabricmc.loom.util; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; +import java.util.zip.GZIPInputStream; import com.google.common.io.Files; import org.apache.commons.io.FileUtils; @@ -109,7 +111,13 @@ public class DownloadUtil { } try { // Try download to the output - FileUtils.copyInputStreamToFile(connection.getInputStream(), to); + InputStream inputStream = connection.getInputStream(); + + if ("gzip".equals(connection.getContentEncoding())) { + inputStream = new GZIPInputStream(inputStream); + } + + FileUtils.copyInputStreamToFile(inputStream, to); } catch (IOException e) { to.delete(); // Probably isn't good if it fails to copy/save throw e; diff --git a/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java b/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java index 374c2bf1..d68eb59c 100644 --- a/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java +++ b/src/main/java/net/fabricmc/loom/util/HashedDownloadUtil.java @@ -26,9 +26,11 @@ package net.fabricmc.loom.util; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.nio.charset.StandardCharsets; +import java.util.zip.GZIPInputStream; import javax.annotation.Nullable; @@ -84,7 +86,13 @@ public class HashedDownloadUtil { } try { // Try download to the output - FileUtils.copyInputStreamToFile(connection.getInputStream(), to); + InputStream inputStream = connection.getInputStream(); + + if ("gzip".equals(connection.getContentEncoding())) { + inputStream = new GZIPInputStream(inputStream); + } + + FileUtils.copyInputStreamToFile(inputStream, to); } catch (IOException e) { delete(to); // Probably isn't good if it fails to copy/save throw e;