Add getMappingsFile and getDecompileTask APIs for use by the MC Dev plugin. (#697)

This commit is contained in:
modmuss50
2022-08-07 09:50:22 +01:00
committed by GitHub
parent 8b37b9a3c6
commit 727c396cd9
6 changed files with 52 additions and 4 deletions

View File

@@ -24,6 +24,8 @@
package net.fabricmc.loom.extension;
import java.io.File;
import org.gradle.api.Action;
import org.gradle.api.NamedDomainObjectContainer;
import org.gradle.api.NamedDomainObjectList;
@@ -36,6 +38,7 @@ import org.gradle.api.provider.Property;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.tasks.SourceSet;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.api.InterfaceInjectionExtensionAPI;
import net.fabricmc.loom.api.LoomGradleExtensionAPI;
import net.fabricmc.loom.api.MixinExtensionAPI;
@@ -53,6 +56,7 @@ import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuil
import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingsDependency;
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftJarConfiguration;
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftSourceSets;
import net.fabricmc.loom.task.GenerateSourcesTask;
import net.fabricmc.loom.util.DeprecationHelper;
import net.fabricmc.loom.util.gradle.SourceSetHelper;
@@ -253,6 +257,25 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
intermediateMappingsProvider.set(provider);
}
@Override
public File getMappingsFile() {
return LoomGradleExtension.get(getProject()).getMappingsProvider().tinyMappings.toFile();
}
@Override
public GenerateSourcesTask getDecompileTask(DecompilerOptions options, boolean client) {
final String decompilerName = options.getFormattedName();
final String taskName;
if (areEnvironmentSourceSetsSplit()) {
taskName = "gen%sSourcesWith%s".formatted(client ? "ClientOnly" : "Common", decompilerName);
} else {
taskName = "genSourcesWith" + decompilerName;
}
return (GenerateSourcesTask) getProject().getTasks().getByName(taskName);
}
protected abstract <T extends IntermediateMappingsProvider> void configureIntermediateMappingsProviderInternal(T provider);
@Override