From b622544cbe71542e2d2f630ef396c4e852c617f0 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Tue, 19 Jan 2021 22:15:23 +0000 Subject: [PATCH] Dont remap dependency sources when building on CI services. Use `-Dfabric.loom.ci=false` to force disable --- .../net/fabricmc/loom/build/ModCompileRemapper.java | 3 ++- .../java/net/fabricmc/loom/util/OperatingSystem.java | 11 +++++++++++ .../java/net/fabricmc/loom/util/SourceRemapper.java | 6 ++++-- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java b/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java index 5def3784..1abd8662 100644 --- a/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java +++ b/src/main/java/net/fabricmc/loom/build/ModCompileRemapper.java @@ -51,6 +51,7 @@ import net.fabricmc.loom.configuration.mods.ModProcessor; import net.fabricmc.loom.configuration.processors.dependency.ModDependencyInfo; import net.fabricmc.loom.configuration.processors.dependency.RemapData; import net.fabricmc.loom.util.Constants; +import net.fabricmc.loom.util.OperatingSystem; import net.fabricmc.loom.util.SourceRemapper; @SuppressWarnings("UnstableApiUsage") @@ -96,7 +97,7 @@ public class ModCompileRemapper { File remappedSources = info.getRemappedOutput("sources"); - if (!remappedSources.exists() || refreshDeps) { + if ((!remappedSources.exists() || refreshDeps) && !OperatingSystem.isCIBuild()) { File sources = findSources(dependencies, artifact); if (sources != null) { diff --git a/src/main/java/net/fabricmc/loom/util/OperatingSystem.java b/src/main/java/net/fabricmc/loom/util/OperatingSystem.java index 727948fe..2f69bcb8 100644 --- a/src/main/java/net/fabricmc/loom/util/OperatingSystem.java +++ b/src/main/java/net/fabricmc/loom/util/OperatingSystem.java @@ -48,4 +48,15 @@ public class OperatingSystem { public static boolean is64Bit() { return System.getProperty("sun.arch.data.model").contains("64"); } + + public static boolean isCIBuild() { + String loomProperty = System.getProperty("fabric.loom.ci"); + + if (loomProperty != null) { + return loomProperty.equalsIgnoreCase("true"); + } + + // CI seems to be set by most popular CI services + return System.getenv("CI") != null; + } } diff --git a/src/main/java/net/fabricmc/loom/util/SourceRemapper.java b/src/main/java/net/fabricmc/loom/util/SourceRemapper.java index 8cf87ff9..b8a0a3f8 100644 --- a/src/main/java/net/fabricmc/loom/util/SourceRemapper.java +++ b/src/main/java/net/fabricmc/loom/util/SourceRemapper.java @@ -91,10 +91,12 @@ public class SourceRemapper { } public void remapAll() { - if (!remapTasks.isEmpty()) { - project.getLogger().lifecycle(":remapping sources"); + if (remapTasks.isEmpty()) { + return; } + project.getLogger().lifecycle(":remapping sources"); + ProgressLogger progressLogger = ProgressLogger.getProgressFactory(project, SourceRemapper.class.getName()); progressLogger.start("Remapping dependency sources", "sources");