Fix merge conflicts with refreshDeps

Signed-off-by: shedaniel <daniel@shedaniel.me>
This commit is contained in:
shedaniel
2022-08-10 15:47:11 +08:00
parent 5526ee050c
commit 566158cbdf
11 changed files with 20 additions and 24 deletions

View File

@@ -72,7 +72,7 @@ public final class MavenPublication {
PublishingExtension mavenPublish = project.getExtensions().findByType(PublishingExtension.class);
if (mavenPublish != null) {
p.getLogger().info("Processing maven publication for project [" + p.getName() + "] of " + configurationName);
project.getLogger().info("Processing maven publication for project [" + project.getName() + "] of " + configurationName);
processEntry(project, scope, config, mavenPublish, reportedDeprecation);
}
});

View File

@@ -31,7 +31,6 @@ import org.gradle.api.Project;
import org.gradle.api.artifacts.Dependency;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.LoomGradlePlugin;
import net.fabricmc.loom.configuration.DependencyInfo;
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
import net.fabricmc.loom.extension.LoomFiles;
@@ -77,7 +76,7 @@ public abstract class DependencyProvider {
return getExtension().getMinecraftProvider();
}
public boolean isRefreshDeps() {
return LoomGradlePlugin.refreshDeps;
public boolean refreshDeps() {
return getExtension().refreshDeps();
}
}

View File

@@ -53,7 +53,6 @@ import org.objectweb.asm.FieldVisitor;
import org.objectweb.asm.Opcodes;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.LoomGradlePlugin;
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
import net.fabricmc.loom.configuration.providers.mappings.IntermediateMappingsService;
import net.fabricmc.loom.configuration.providers.mappings.MappingsProviderImpl;
@@ -84,7 +83,7 @@ public class FieldMigratedMappingsProvider extends MappingsProviderImpl {
migratedFieldsCache = patchProvider.getProjectCacheFolder().resolve("migrated-fields.json");
migratedFields.clear();
if (LoomGradlePlugin.refreshDeps) {
if (minecraftProvider.refreshDeps()) {
Files.deleteIfExists(migratedFieldsCache);
} else if (Files.exists(migratedFieldsCache)) {
try (BufferedReader reader = Files.newBufferedReader(migratedFieldsCache)) {
@@ -113,7 +112,7 @@ public class FieldMigratedMappingsProvider extends MappingsProviderImpl {
this.rawTinyMappingsWithSrg = tinyMappingsWithSrg;
if (extension.shouldGenerateSrgTiny()) {
if (Files.notExists(rawTinyMappingsWithSrg) || isRefreshDeps()) {
if (Files.notExists(rawTinyMappingsWithSrg) || extension.refreshDeps()) {
// Merge tiny mappings with srg
SrgMerger.ExtraMappings extraMappings = SrgMerger.ExtraMappings.ofMojmapTsrg(getMojmapSrgFileIfPossible(project));
SrgMerger.mergeSrg(getRawSrgFile(project), rawTinyMappings, rawTinyMappingsWithSrg, extraMappings, true);

View File

@@ -43,7 +43,7 @@ public class ForgeUniversalProvider extends DependencyProvider {
public void provide(DependencyInfo dependency) throws Exception {
forge = new File(getExtension().getForgeProvider().getGlobalCache(), "forge-universal.jar");
if (!forge.exists() || isRefreshDeps()) {
if (!forge.exists() || refreshDeps()) {
File dep = dependency.resolveFile().orElseThrow(() -> new RuntimeException("Could not resolve Forge"));
FileUtils.copyFile(dep, forge);
}

View File

@@ -60,7 +60,7 @@ public class ForgeUserdevProvider extends DependencyProvider {
joinedPatches = getExtension().getForgeProvider().getGlobalCache().toPath().resolve("patches-joined.lzma");
Path configJson = getExtension().getForgeProvider().getGlobalCache().toPath().resolve("forge-config.json");
if (!userdevJar.exists() || Files.notExists(configJson) || isRefreshDeps()) {
if (!userdevJar.exists() || Files.notExists(configJson) || refreshDeps()) {
File resolved = dependency.resolveFile().orElseThrow(() -> new RuntimeException("Could not resolve Forge userdev"));
Files.copy(resolved.toPath(), userdevJar.toPath(), StandardCopyOption.REPLACE_EXISTING);

View File

@@ -72,7 +72,6 @@ import org.objectweb.asm.Opcodes;
import org.objectweb.asm.tree.ClassNode;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.LoomGradlePlugin;
import net.fabricmc.loom.configuration.accesstransformer.AccessTransformerJarProcessor;
import net.fabricmc.loom.configuration.providers.forge.mcpconfig.McpConfigData;
import net.fabricmc.loom.configuration.providers.forge.mcpconfig.McpConfigStep;
@@ -167,7 +166,7 @@ public class MinecraftPatchedProvider {
}
private void checkCache() throws IOException {
if (LoomGradlePlugin.refreshDeps || Stream.of(getGlobalCaches()).anyMatch(Files::notExists)
if (getExtension().refreshDeps() || Stream.of(getGlobalCaches()).anyMatch(Files::notExists)
|| !isPatchedJarUpToDate(minecraftPatchedJar)) {
cleanAllCache();
}

View File

@@ -52,7 +52,7 @@ public class PatchProvider extends DependencyProvider {
public void provide(DependencyInfo dependency) throws Exception {
init(dependency.getDependency().getVersion());
if (Files.notExists(clientPatches) || Files.notExists(serverPatches) || isRefreshDeps()) {
if (Files.notExists(clientPatches) || Files.notExists(serverPatches) || refreshDeps()) {
getProject().getLogger().info(":extracting forge patches");
Path installerJar = dependency.resolveFile().orElseThrow(() -> new RuntimeException("Could not resolve Forge installer")).toPath();

View File

@@ -50,7 +50,6 @@ import org.gradle.api.Project;
import org.gradle.api.logging.LogLevel;
import net.fabricmc.loom.LoomGradleExtension;
import net.fabricmc.loom.LoomGradlePlugin;
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
import net.fabricmc.loom.configuration.DependencyInfo;
import net.fabricmc.loom.configuration.providers.mappings.GradleMappingContext;
@@ -82,7 +81,7 @@ public class SrgProvider extends DependencyProvider {
public void provide(DependencyInfo dependency) throws Exception {
init(dependency.getDependency().getVersion());
if (!Files.exists(srg) || isRefreshDeps()) {
if (!Files.exists(srg) || refreshDeps()) {
Path srgZip = dependency.resolveFile().orElseThrow(() -> new RuntimeException("Could not resolve srg")).toPath();
try (FileSystem fs = FileSystems.newFileSystem(new URI("jar:" + srgZip.toUri()), ImmutableMap.of("create", false))) {
@@ -95,7 +94,7 @@ public class SrgProvider extends DependencyProvider {
}
if (isTsrgV2) {
if (!Files.exists(mergedMojangRaw) || !Files.exists(mergedMojang) || !Files.exists(mergedMojangTrimmed) || isRefreshDeps()) {
if (!Files.exists(mergedMojangRaw) || !Files.exists(mergedMojang) || !Files.exists(mergedMojangTrimmed) || refreshDeps()) {
Stopwatch stopwatch = Stopwatch.createStarted();
getProject().getLogger().lifecycle(":merging mappings (InstallerTools, srg + mojmap)");
PrintStream out = System.out;
@@ -222,7 +221,7 @@ public class SrgProvider extends DependencyProvider {
Path mojmapTsrg = extension.getMinecraftProvider().dir("forge").toPath().resolve("mojmap.tsrg");
if (Files.notExists(mojmapTsrg) || LoomGradlePlugin.refreshDeps) {
if (Files.notExists(mojmapTsrg) || extension.refreshDeps()) {
try (BufferedWriter writer = Files.newBufferedWriter(mojmapTsrg, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
Tsrg2Utils.writeTsrg(visitor -> visitMojmap(visitor, project),
MappingsNamespace.NAMED.toString(), false, writer);
@@ -239,7 +238,7 @@ public class SrgProvider extends DependencyProvider {
Path mojmapTsrg2 = extension.getMinecraftProvider().dir("forge").toPath().resolve("mojmap.tsrg2");
if (Files.notExists(mojmapTsrg2) || LoomGradlePlugin.refreshDeps) {
if (Files.notExists(mojmapTsrg2) || extension.refreshDeps()) {
try (BufferedWriter writer = Files.newBufferedWriter(mojmapTsrg2, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
MemoryMappingTree tree = new MemoryMappingTree();
visitMojmap(tree, project);

View File

@@ -56,7 +56,7 @@ public class McpConfigProvider extends DependencyProvider {
Path mcpZip = dependency.resolveFile().orElseThrow(() -> new RuntimeException("Could not resolve MCPConfig")).toPath();
if (!Files.exists(mcp) || !Files.exists(configJson) || isRefreshDeps()) {
if (!Files.exists(mcp) || !Files.exists(configJson) || refreshDeps()) {
Files.copy(mcpZip, mcp, StandardCopyOption.REPLACE_EXISTING);
Files.write(configJson, ZipUtils.unpack(mcp, "config.json"), StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING);
}
@@ -76,7 +76,7 @@ public class McpConfigProvider extends DependencyProvider {
configJson = dir.resolve("mcp-config.json");
mappings = dir.resolve("mcp-config-mappings.txt");
if (isRefreshDeps()) {
if (refreshDeps()) {
Files.deleteIfExists(mappings);
}
}

View File

@@ -216,7 +216,7 @@ public class MappingsProviderImpl implements MappingsProvider, SharedService {
manipulateMappings(project, tinyMappingsJar);
if (extension.shouldGenerateSrgTiny()) {
if (Files.notExists(tinyMappingsWithSrg) || isRefreshDeps()) {
if (Files.notExists(tinyMappingsWithSrg) || extension.refreshDeps()) {
// Merge tiny mappings with srg
Stopwatch stopwatch = Stopwatch.createStarted();
SrgMerger.ExtraMappings extraMappings = SrgMerger.ExtraMappings.ofMojmapTsrg(getMojmapSrgFileIfPossible(project));
@@ -247,7 +247,7 @@ public class MappingsProviderImpl implements MappingsProvider, SharedService {
throw new IllegalStateException("We have to generate srg tiny in a forge environment!");
}
if (Files.notExists(srgToNamedSrg) || isRefreshDeps()) {
if (Files.notExists(srgToNamedSrg) || extension.refreshDeps()) {
SrgNamedWriter.writeTo(project.getLogger(), srgToNamedSrg, getMappingsWithSrg(), "srg", "named");
}
}
@@ -530,7 +530,7 @@ public class MappingsProviderImpl implements MappingsProvider, SharedService {
Path path = mappingsWorkingDir.resolve("mappings-mixin-" + namespace + ".tiny");
try {
if (Files.notExists(path) || isRefreshDeps()) {
if (Files.notExists(path) || loom.refreshDeps()) {
List<String> lines = new ArrayList<>(Files.readAllLines(loom.shouldGenerateSrgTiny() ? tinyMappingsWithSrg : tinyMappings));
lines.set(0, lines.get(0).replace("intermediary", "yraidemretni").replace(namespace, "intermediary"));
Files.deleteIfExists(path);

View File

@@ -70,11 +70,11 @@ public class SourceRemapper {
public static void remapSources(Project project, File input, File output, String from, String to, boolean reproducibleFileOrder, boolean preserveFileTimestamps) {
SourceRemapper sourceRemapper = new SourceRemapper(project, from, to);
sourceRemapper.scheduleRemapSources(input, output, reproducibleFileOrder, preserveFileTimestamps);
sourceRemapper.scheduleRemapSources(input, output, reproducibleFileOrder, preserveFileTimestamps, () -> {});
sourceRemapper.remapAll();
}
public void scheduleRemapSources(File source, File destination, boolean reproducibleFileOrder, boolean preserveFileTimestamps) {
public void scheduleRemapSources(File source, File destination, boolean reproducibleFileOrder, boolean preserveFileTimestamps, Runnable completionCallback) {
remapTasks.add((logger) -> {
try {
logger.progress("remapping sources - " + source.getName());