@@ -44,6 +44,7 @@ public class LegacyForgeModDevPlugin implements Plugin<Project> {
4444
4545 public static final String CONFIGURATION_TOOL_ART = "autoRenamingToolRuntime" ;
4646 public static final String CONFIGURATION_TOOL_INSTALLERTOOLS = "installerToolsRuntime" ;
47+ public static final String ARTIFACT_TYPE_SRG_JAR = "srgJar" ;
4748
4849 private final MinecraftMappings namedMappings ;
4950 private final MinecraftMappings srgMappings ;
@@ -220,6 +221,20 @@ public void enable(Project project, LegacyForgeModdingSettings settings, LegacyF
220221 .attribute (MinecraftMappings .ATTRIBUTE , namedMappings )
221222 .attribute (ArtifactTypeDefinition .ARTIFACT_TYPE_ATTRIBUTE , ArtifactTypeDefinition .JAR_TYPE );
222223 });
224+ // This second copy of the transform is used for remapping artifact dependencies (i.e. on classifiers)
225+ // that circumvent the variant system.
226+ project .getDependencies ().registerTransform (RemappingTransform .class , params -> {
227+ params .parameters (parameters -> {
228+ obf .configureSrgToNamedOperation (parameters .getRemapOperation ());
229+ parameters .getMinecraftDependencies ().from (remapDeps );
230+ });
231+ params .getFrom ()
232+ .attribute (MinecraftMappings .ATTRIBUTE , srgMappings )
233+ .attribute (ArtifactTypeDefinition .ARTIFACT_TYPE_ATTRIBUTE , ARTIFACT_TYPE_SRG_JAR );
234+ params .getTo ()
235+ .attribute (MinecraftMappings .ATTRIBUTE , namedMappings )
236+ .attribute (ArtifactTypeDefinition .ARTIFACT_TYPE_ATTRIBUTE , ArtifactTypeDefinition .JAR_TYPE );
237+ });
223238 }
224239
225240 private void configureDependencyRemapping (Project project , ObfuscationExtension obf ) {
@@ -247,6 +262,10 @@ private void configureDependencyRemapping(Project project, ObfuscationExtension
247262 });
248263 });
249264
265+ // custom artifact type used to force remapping of artifact dependencies (which circumvent variant selection)
266+ project .getDependencies ().getArtifactTypes ().create (ARTIFACT_TYPE_SRG_JAR , artifactType -> {
267+ artifactType .getAttributes ().attribute (MinecraftMappings .ATTRIBUTE , srgMappings );
268+ });
250269 obf .createRemappingConfiguration (project .getConfigurations ().getByName (JavaPlugin .IMPLEMENTATION_CONFIGURATION_NAME ));
251270 obf .createRemappingConfiguration (project .getConfigurations ().getByName (JavaPlugin .RUNTIME_ONLY_CONFIGURATION_NAME ));
252271 obf .createRemappingConfiguration (project .getConfigurations ().getByName (JavaPlugin .COMPILE_ONLY_CONFIGURATION_NAME ));
0 commit comments