From 6ecaa609e8d7571f6a86e6ea0e24b11ef935307d Mon Sep 17 00:00:00 2001 From: KosmX Date: Thu, 21 Apr 2022 21:54:29 +0200 Subject: [PATCH] Create MixinMappingsService for every target MC version. (#631) * Create MixinMappingsService for every target MC version. * Use mappings identifier to identify MixinMappingsService. --- .../fabricmc/loom/task/service/MixinMappingsService.java | 7 ++++--- .../fabricmc/loom/task/service/TinyRemapperService.java | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/fabricmc/loom/task/service/MixinMappingsService.java b/src/main/java/net/fabricmc/loom/task/service/MixinMappingsService.java index 37466a19..a1a7336f 100644 --- a/src/main/java/net/fabricmc/loom/task/service/MixinMappingsService.java +++ b/src/main/java/net/fabricmc/loom/task/service/MixinMappingsService.java @@ -31,6 +31,7 @@ import org.gradle.api.Project; import org.gradle.api.tasks.SourceSet; import net.fabricmc.loom.LoomGradleExtension; +import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl; import net.fabricmc.loom.util.service.SharedService; import net.fabricmc.loom.util.service.SharedServiceManager; import net.fabricmc.tinyremapper.IMappingProvider; @@ -47,13 +48,13 @@ public final class MixinMappingsService implements SharedService { final LoomGradleExtension extension = LoomGradleExtension.get(project); File mixinMapping = new File(extension.getFiles().getProjectBuildCache(), "mixin-map-" + extension.getMappingsProvider().mappingsIdentifier() + "." + sourceSet.getName() + ".tiny"); - getService(SharedServiceManager.get(project)).mixinMappings.add(mixinMapping); + getService(SharedServiceManager.get(project), extension.getMappingsProvider()).mixinMappings.add(mixinMapping); return mixinMapping; } - static synchronized MixinMappingsService getService(SharedServiceManager sharedServiceManager) { - return sharedServiceManager.getOrCreateService("MixinMappings", () -> new MixinMappingsService(sharedServiceManager)); + static synchronized MixinMappingsService getService(SharedServiceManager sharedServiceManager, MappingsProviderImpl mappingsProvider) { + return sharedServiceManager.getOrCreateService("MixinMappings-" + mappingsProvider.mappingsIdentifier(), () -> new MixinMappingsService(sharedServiceManager)); } IMappingProvider getMappingProvider(String from, String to) { diff --git a/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java b/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java index 78f146bb..4e4c33ff 100644 --- a/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java +++ b/src/main/java/net/fabricmc/loom/task/service/TinyRemapperService.java @@ -79,7 +79,7 @@ public class TinyRemapperService implements SharedService { mappings.add(MappingsService.createDefault(project, from, to).getMappingsProvider()); if (legacyMixin) { - mappings.add(MixinMappingsService.getService(SharedServiceManager.get(project)).getMappingProvider(from, to)); + mappings.add(MixinMappingsService.getService(SharedServiceManager.get(project), extension.getMappingsProvider()).getMappingProvider(from, to)); } return new TinyRemapperService(mappings, !legacyMixin, kotlinClasspathService);