Handle more conflicts

Signed-off-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
shedaniel
2022-08-11 00:56:01 +08:00
parent 566158cbdf
commit 726569229a
5 changed files with 15 additions and 9 deletions

View File

@@ -88,7 +88,7 @@ public class ModConfigurationRemapper {
final List<ModDependency> modDependencies = new ArrayList<>();
for (ArtifactRef artifact : resolveArtifacts(project, sourceConfig)) {
if (!ModUtils.isMod(artifact.path())) {
if (!ModUtils.isMod(artifact.path(), extension.getPlatform().get())) {
artifact.applyToConfiguration(project, targetConfig);
continue;
}

View File

@@ -50,6 +50,7 @@ import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
import net.fabricmc.loom.util.Constants;
import net.fabricmc.loom.util.ForgeToolExecutor;
import net.fabricmc.loom.util.download.DownloadBuilder;
import net.fabricmc.loom.util.function.CollectionUtil;
public final class McpExecutor {
@@ -197,6 +198,11 @@ public final class McpExecutor {
return path;
}
@Override
public DownloadBuilder downloadBuilder(String url) {
return LoomGradleExtension.get(project).download(url);
}
// Some of these files linked to the old Forge maven, let's follow the redirects to the new one.
private static void redirectAwareDownload(String urlString, Path path) throws IOException {
URL url = new URL(urlString);

View File

@@ -27,7 +27,6 @@ package net.fabricmc.loom.configuration.providers.forge.mcpconfig;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -45,8 +44,8 @@ import org.gradle.process.JavaExecSpec;
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftVersionMeta;
import net.fabricmc.loom.util.FileSystemUtil;
import net.fabricmc.loom.util.HashedDownloadUtil;
import net.fabricmc.loom.util.ThreadingUtils;
import net.fabricmc.loom.util.download.DownloadBuilder;
import net.fabricmc.loom.util.function.CollectionUtil;
/**
@@ -67,6 +66,7 @@ public interface StepLogic {
Path mappings();
String resolve(ConfigValue value);
Path download(String url) throws IOException;
DownloadBuilder downloadBuilder(String url);
void javaexec(Action<? super JavaExecSpec> configurator);
Set<File> getMinecraftLibraries();
@@ -193,7 +193,9 @@ public interface StepLogic {
@Override
public void execute(ExecutionContext context) throws IOException {
HashedDownloadUtil.downloadIfInvalid(new URL(download.url()), context.setOutput("output").toFile(), download.sha1(), context.logger(), false);
context.downloadBuilder(download.url())
.sha1(download.sha1())
.downloadPath(context.setOutput("output"));
}
}

View File

@@ -38,8 +38,6 @@ import net.fabricmc.loom.api.mappings.layered.MappingLayer;
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
import net.fabricmc.loom.configuration.providers.mappings.intermediary.IntermediaryMappingLayer;
import net.fabricmc.loom.configuration.providers.mappings.utils.DstNameFilterMappingVisitor;
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftVersionMeta;
import net.fabricmc.loom.util.HashedDownloadUtil;
import net.fabricmc.mappingio.MappingVisitor;
import net.fabricmc.mappingio.adapter.MappingSourceNsSwitch;
import net.fabricmc.mappingio.format.ProGuardReader;

View File

@@ -49,7 +49,7 @@ import org.gradle.api.artifacts.ResolvedArtifact;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
import net.fabricmc.loom.build.ModCompileRemapper;
import net.fabricmc.loom.configuration.mods.ModConfigurationRemapper;
import net.fabricmc.loom.task.GenerateSourcesTask;
import net.fabricmc.loom.util.Constants;
import net.fabricmc.loom.util.DeletingFileVisitor;
@@ -111,10 +111,10 @@ public class ForgeSourcesRemapper {
List<Path> forgeInstallerSources = new ArrayList<>();
for (ResolvedArtifact artifact : project.getConfigurations().getByName(Constants.Configurations.FORGE_INSTALLER).getResolvedConfiguration().getResolvedArtifacts()) {
File forgeInstallerSource = ModCompileRemapper.findSources(project.getDependencies(), artifact);
Path forgeInstallerSource = ModConfigurationRemapper.findSources(project, artifact);
if (forgeInstallerSource != null) {
forgeInstallerSources.add(forgeInstallerSource.toPath());
forgeInstallerSources.add(forgeInstallerSource);
}
}