From ab9d2d3fda53c0b1bd4c24102f13aeb9b40a13f8 Mon Sep 17 00:00:00 2001 From: Adrian Siekierka Date: Sun, 21 Apr 2019 11:18:45 +0200 Subject: [PATCH] store mixin maps in per-project build caches, move root project build cache to build/loom-cache from .gradle/ --- .../java/net/fabricmc/loom/AbstractPlugin.java | 3 +-- .../net/fabricmc/loom/LoomGradleExtension.java | 17 ++++++++++++----- .../loom/providers/MappingsProvider.java | 2 +- .../fabricmc/loom/task/CleanLoomMappings.java | 2 +- 4 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/AbstractPlugin.java b/src/main/java/net/fabricmc/loom/AbstractPlugin.java index 7a56048..f662506 100644 --- a/src/main/java/net/fabricmc/loom/AbstractPlugin.java +++ b/src/main/java/net/fabricmc/loom/AbstractPlugin.java @@ -51,7 +51,6 @@ import java.io.File; import java.io.IOException; import java.util.Map; import java.util.Set; -import java.util.function.Consumer; public class AbstractPlugin implements Plugin { protected Project project; @@ -208,7 +207,7 @@ public class AbstractPlugin implements Plugin { }); project1.getRepositories().flatDir(flatDirectoryArtifactRepository -> { - flatDirectoryArtifactRepository.dir(extension.getProjectCache()); + flatDirectoryArtifactRepository.dir(extension.getRootProjectBuildCache()); flatDirectoryArtifactRepository.setName("UserLocalCacheFiles"); }); diff --git a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java index 1d050c7..ccc57e7 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradleExtension.java +++ b/src/main/java/net/fabricmc/loom/LoomGradleExtension.java @@ -33,7 +33,6 @@ import org.cadixdev.lorenz.MappingSet; import org.gradle.api.Project; import org.gradle.api.UnknownDomainObjectException; import org.gradle.api.artifacts.Configuration; -import org.gradle.api.artifacts.ConfigurationContainer; import org.gradle.api.artifacts.Dependency; import javax.annotation.Nullable; @@ -94,8 +93,16 @@ public class LoomGradleExtension { return userCache; } - public File getProjectCache(){ - File projectCache = new File(project.getRootDir(), ".gradle/minecraft/"); + public File getRootProjectBuildCache() { + File projectCache = new File(project.getRootProject().getBuildDir(), "loom-cache"); + if(!projectCache.exists()){ + projectCache.mkdirs(); + } + return projectCache; + } + + public File getProjectBuildCache() { + File projectCache = new File(project.getBuildDir(), "loom-cache"); if(!projectCache.exists()){ projectCache.mkdirs(); } @@ -103,7 +110,7 @@ public class LoomGradleExtension { } public File getRemappedModCache() { - File remappedModCache = new File(getProjectCache(), "remapped_mods/"); + File remappedModCache = new File(getRootProjectBuildCache(), "remapped_mods"); if (!remappedModCache.exists()) { remappedModCache.mkdir(); } @@ -111,7 +118,7 @@ public class LoomGradleExtension { } public File getNestedModCache() { - File nestedModCache = new File(getProjectCache(), "nested_mods/"); + File nestedModCache = new File(getRootProjectBuildCache(), "nested_mods"); if (!nestedModCache.exists()) { nestedModCache.mkdir(); } diff --git a/src/main/java/net/fabricmc/loom/providers/MappingsProvider.java b/src/main/java/net/fabricmc/loom/providers/MappingsProvider.java index 6f1fa24..835779f 100644 --- a/src/main/java/net/fabricmc/loom/providers/MappingsProvider.java +++ b/src/main/java/net/fabricmc/loom/providers/MappingsProvider.java @@ -106,7 +106,7 @@ public class MappingsProvider extends DependencyProvider { MAPPINGS_TINY_BASE = new File(MAPPINGS_DIR, mappingsName + "-tiny-" + minecraftVersion + "-" + mappingsVersion + "-base"); MAPPINGS_TINY = new File(MAPPINGS_DIR, mappingsName + "-tiny-" + minecraftVersion + "-" + mappingsVersion); - MAPPINGS_MIXIN_EXPORT = new File(extension.getProjectCache(), "mixin-map-" + minecraftVersion + "-" + mappingsVersion + ".tiny"); + MAPPINGS_MIXIN_EXPORT = new File(extension.getProjectBuildCache(), "mixin-map-" + minecraftVersion + "-" + mappingsVersion + ".tiny"); } @Override diff --git a/src/main/java/net/fabricmc/loom/task/CleanLoomMappings.java b/src/main/java/net/fabricmc/loom/task/CleanLoomMappings.java index 05c586b..bdafc3c 100644 --- a/src/main/java/net/fabricmc/loom/task/CleanLoomMappings.java +++ b/src/main/java/net/fabricmc/loom/task/CleanLoomMappings.java @@ -42,7 +42,7 @@ public class CleanLoomMappings extends DefaultLoomTask { extension.getMinecraftMappedProvider().getIntermediaryJar().delete(); extension.getMinecraftMappedProvider().getMappedJar().delete(); try { - Files.walkFileTree(extension.getProjectCache().toPath(), new DeletingFileVisitor()); + Files.walkFileTree(extension.getRootProjectBuildCache().toPath(), new DeletingFileVisitor()); } catch (IOException e) { throw new RuntimeException(e); }