mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-03-28 04:07:01 -05:00
Remove remaining Guava usages
This commit is contained in:
@@ -73,6 +73,12 @@ configurations.configureEach {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Arch: Prevent compiling against Guava.
|
||||||
|
// The dependency is still leaked from DFU, but it shouldn't be used to keep up with upstream standards.
|
||||||
|
configurations.named('compileClasspath') {
|
||||||
|
exclude group: 'com.google.guava'
|
||||||
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
commonDecompiler {
|
commonDecompiler {
|
||||||
java {
|
java {
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import java.util.jar.Manifest;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
|
||||||
import de.oceanlabs.mcp.mcinjector.adaptors.ParameterAnnotationFixer;
|
import de.oceanlabs.mcp.mcinjector.adaptors.ParameterAnnotationFixer;
|
||||||
import dev.architectury.loom.accesstransformer.AccessTransformerService;
|
import dev.architectury.loom.accesstransformer.AccessTransformerService;
|
||||||
import dev.architectury.loom.forge.CoreModClassRemapper;
|
import dev.architectury.loom.forge.CoreModClassRemapper;
|
||||||
@@ -84,6 +83,7 @@ import net.fabricmc.loom.LoomGradleExtension;
|
|||||||
import net.fabricmc.loom.build.IntermediaryNamespaces;
|
import net.fabricmc.loom.build.IntermediaryNamespaces;
|
||||||
import net.fabricmc.loom.configuration.providers.mappings.TinyMappingsService;
|
import net.fabricmc.loom.configuration.providers.mappings.TinyMappingsService;
|
||||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
||||||
|
import net.fabricmc.loom.util.Check;
|
||||||
import net.fabricmc.loom.util.Constants;
|
import net.fabricmc.loom.util.Constants;
|
||||||
import net.fabricmc.loom.util.FileSystemUtil;
|
import net.fabricmc.loom.util.FileSystemUtil;
|
||||||
import net.fabricmc.loom.util.TinyRemapperHelper;
|
import net.fabricmc.loom.util.TinyRemapperHelper;
|
||||||
@@ -614,7 +614,7 @@ public class MinecraftPatchedProvider {
|
|||||||
try (FileSystemUtil.Delegate delegate = FileSystemUtil.getJarFileSystem(target, false)) {
|
try (FileSystemUtil.Delegate delegate = FileSystemUtil.getJarFileSystem(target, false)) {
|
||||||
Path manifestPath = delegate.get().getPath("META-INF/MANIFEST.MF");
|
Path manifestPath = delegate.get().getPath("META-INF/MANIFEST.MF");
|
||||||
|
|
||||||
Preconditions.checkArgument(Files.exists(manifestPath), "META-INF/MANIFEST.MF does not exist in patched srg jar!");
|
Check.require(Files.exists(manifestPath), "META-INF/MANIFEST.MF does not exist in patched srg jar!");
|
||||||
Manifest manifest = new Manifest();
|
Manifest manifest = new Manifest();
|
||||||
|
|
||||||
if (Files.exists(manifestPath)) {
|
if (Files.exists(manifestPath)) {
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import java.util.Map;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import com.google.common.base.Preconditions;
|
|
||||||
import dev.architectury.loom.forge.dependency.SrgProvider;
|
import dev.architectury.loom.forge.dependency.SrgProvider;
|
||||||
import dev.architectury.loom.util.collection.CollectionUtil;
|
import dev.architectury.loom.util.collection.CollectionUtil;
|
||||||
import dev.architectury.loom.util.collection.Multimap;
|
import dev.architectury.loom.util.collection.Multimap;
|
||||||
@@ -43,6 +42,7 @@ import org.jetbrains.annotations.Nullable;
|
|||||||
|
|
||||||
import net.fabricmc.loom.api.mappings.layered.MappingContext;
|
import net.fabricmc.loom.api.mappings.layered.MappingContext;
|
||||||
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
|
import net.fabricmc.loom.api.mappings.layered.MappingsNamespace;
|
||||||
|
import net.fabricmc.loom.util.Check;
|
||||||
import net.fabricmc.mappingio.FlatMappingVisitor;
|
import net.fabricmc.mappingio.FlatMappingVisitor;
|
||||||
import net.fabricmc.mappingio.MappingReader;
|
import net.fabricmc.mappingio.MappingReader;
|
||||||
import net.fabricmc.mappingio.MappingVisitor;
|
import net.fabricmc.mappingio.MappingVisitor;
|
||||||
@@ -58,8 +58,6 @@ import net.fabricmc.mappingio.tree.MemoryMappingTree;
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Merges a Tiny file with a new namespace.
|
* Merges a Tiny file with a new namespace.
|
||||||
*
|
|
||||||
* @author Juuz
|
|
||||||
*/
|
*/
|
||||||
public final class ForgeMappingsMerger {
|
public final class ForgeMappingsMerger {
|
||||||
private static final List<String> INPUT_NAMESPACES = List.of("official", "intermediary", "named");
|
private static final List<String> INPUT_NAMESPACES = List.of("official", "intermediary", "named");
|
||||||
@@ -74,7 +72,7 @@ public final class ForgeMappingsMerger {
|
|||||||
|
|
||||||
private ForgeMappingsMerger(MemoryMappingTree newNs, MemoryMappingTree src, @Nullable ExtraMappings extraMappings, boolean lenient) throws IOException {
|
private ForgeMappingsMerger(MemoryMappingTree newNs, MemoryMappingTree src, @Nullable ExtraMappings extraMappings, boolean lenient) throws IOException {
|
||||||
this.newNs = newNs;
|
this.newNs = newNs;
|
||||||
Preconditions.checkArgument(this.newNs.getDstNamespaces().size() == 1, "New namespace must have exactly one destination namespace");
|
Check.require(this.newNs.getDstNamespaces().size() == 1, "New namespace must have exactly one destination namespace");
|
||||||
this.src = src;
|
this.src = src;
|
||||||
this.output = new MemoryMappingTree();
|
this.output = new MemoryMappingTree();
|
||||||
this.flatOutput = new RegularAsFlatMappingVisitor(output);
|
this.flatOutput = new RegularAsFlatMappingVisitor(output);
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ import java.util.NoSuchElementException;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.SortedSet;
|
import java.util.SortedSet;
|
||||||
|
|
||||||
import com.google.common.base.Suppliers;
|
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
import dev.architectury.loom.forge.dependency.ForgeProvider;
|
import dev.architectury.loom.forge.dependency.ForgeProvider;
|
||||||
@@ -65,6 +64,7 @@ import net.fabricmc.loom.LoomGradleExtension;
|
|||||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
||||||
import net.fabricmc.loom.util.Checksum;
|
import net.fabricmc.loom.util.Checksum;
|
||||||
import net.fabricmc.loom.util.Constants;
|
import net.fabricmc.loom.util.Constants;
|
||||||
|
import net.fabricmc.loom.util.Lazy;
|
||||||
import net.fabricmc.loom.util.gradle.GradleUtils;
|
import net.fabricmc.loom.util.gradle.GradleUtils;
|
||||||
import net.fabricmc.loom.util.service.Service;
|
import net.fabricmc.loom.util.service.Service;
|
||||||
|
|
||||||
@@ -289,7 +289,7 @@ public final class McpExecutorBuilder {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Provider<FileCollection> getMinecraftLibraries() {
|
public Provider<FileCollection> getMinecraftLibraries() {
|
||||||
return project().provider(Suppliers.memoize(() -> {
|
return project().provider(Lazy.of(() -> {
|
||||||
project.getLogger().lifecycle(":downloading minecraft libraries, this may take a while...");
|
project.getLogger().lifecycle(":downloading minecraft libraries, this may take a while...");
|
||||||
// (1.2) minecraftRuntimeLibraries contains the compile-time libraries as well.
|
// (1.2) minecraftRuntimeLibraries contains the compile-time libraries as well.
|
||||||
final Set<File> files = project.getConfigurations().getByName(Constants.Configurations.MINECRAFT_RUNTIME_LIBRARIES).resolve();
|
final Set<File> files = project.getConfigurations().getByName(Constants.Configurations.MINECRAFT_RUNTIME_LIBRARIES).resolve();
|
||||||
|
|||||||
@@ -30,7 +30,6 @@ import java.io.UncheckedIOException;
|
|||||||
import java.util.jar.Attributes;
|
import java.util.jar.Attributes;
|
||||||
import java.util.jar.JarFile;
|
import java.util.jar.JarFile;
|
||||||
|
|
||||||
import com.google.common.base.Suppliers;
|
|
||||||
import dev.architectury.loom.mcpconfig.McpConfigFunction;
|
import dev.architectury.loom.mcpconfig.McpConfigFunction;
|
||||||
import org.gradle.api.file.RegularFileProperty;
|
import org.gradle.api.file.RegularFileProperty;
|
||||||
import org.gradle.api.provider.Property;
|
import org.gradle.api.provider.Property;
|
||||||
@@ -38,6 +37,7 @@ import org.gradle.api.provider.Provider;
|
|||||||
import org.gradle.api.tasks.Input;
|
import org.gradle.api.tasks.Input;
|
||||||
import org.gradle.api.tasks.InputFile;
|
import org.gradle.api.tasks.InputFile;
|
||||||
|
|
||||||
|
import net.fabricmc.loom.util.Lazy;
|
||||||
import net.fabricmc.loom.util.service.Service;
|
import net.fabricmc.loom.util.service.Service;
|
||||||
import net.fabricmc.loom.util.service.ServiceFactory;
|
import net.fabricmc.loom.util.service.ServiceFactory;
|
||||||
import net.fabricmc.loom.util.service.ServiceType;
|
import net.fabricmc.loom.util.service.ServiceType;
|
||||||
@@ -59,7 +59,7 @@ public final class FunctionLogic extends StepLogic<FunctionLogic.Options> {
|
|||||||
public static Provider<Options> createOptions(SetupContext context, McpConfigFunction function) {
|
public static Provider<Options> createOptions(SetupContext context, McpConfigFunction function) {
|
||||||
return TYPE.create(context.project(), options -> {
|
return TYPE.create(context.project(), options -> {
|
||||||
options.getFunction().set(function);
|
options.getFunction().set(function);
|
||||||
final Provider<File> jar = context.project().provider(Suppliers.memoize(() -> {
|
final Provider<File> jar = context.project().provider(Lazy.of(() -> {
|
||||||
try {
|
try {
|
||||||
return function.download(context).toFile();
|
return function.download(context).toFile();
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
|
|||||||
@@ -25,11 +25,10 @@
|
|||||||
package dev.architectury.loom.util;
|
package dev.architectury.loom.util;
|
||||||
|
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.regex.Matcher;
|
import java.util.regex.Matcher;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
import com.google.common.base.Strings;
|
|
||||||
import com.google.common.collect.Ordering;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@@ -58,14 +57,18 @@ public record Version(int major, int minor, int micro, int patch, @Nullable Stri
|
|||||||
}
|
}
|
||||||
|
|
||||||
int major = Integer.parseInt(matcher.group(1));
|
int major = Integer.parseInt(matcher.group(1));
|
||||||
int minor = !Strings.isNullOrEmpty(matcher.group(2)) ? Integer.parseInt(matcher.group(2)) : 0;
|
int minor = !isNullOrEmpty(matcher.group(2)) ? Integer.parseInt(matcher.group(2)) : 0;
|
||||||
int micro = !Strings.isNullOrEmpty(matcher.group(3)) ? Integer.parseInt(matcher.group(3)) : 0;
|
int micro = !isNullOrEmpty(matcher.group(3)) ? Integer.parseInt(matcher.group(3)) : 0;
|
||||||
int patch = !Strings.isNullOrEmpty(matcher.group(4)) ? Integer.parseInt(matcher.group(4)) : 0;
|
int patch = !isNullOrEmpty(matcher.group(4)) ? Integer.parseInt(matcher.group(4)) : 0;
|
||||||
String qualifier = matcher.group(5);
|
String qualifier = matcher.group(5);
|
||||||
|
|
||||||
return new Version(major, minor, micro, patch, qualifier == null ? null : qualifier.toLowerCase(Locale.ROOT));
|
return new Version(major, minor, micro, patch, qualifier == null ? null : qualifier.toLowerCase(Locale.ROOT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean isNullOrEmpty(@Nullable String s) {
|
||||||
|
return s == null || s.isEmpty();
|
||||||
|
}
|
||||||
|
|
||||||
public Version asBaseVersion() {
|
public Version asBaseVersion() {
|
||||||
return new Version(this.major, this.minor, this.micro, this.patch, null);
|
return new Version(this.major, this.minor, this.micro, this.patch, null);
|
||||||
}
|
}
|
||||||
@@ -80,9 +83,16 @@ public record Version(int major, int minor, int micro, int patch, @Nullable Stri
|
|||||||
return this.micro - other.micro;
|
return this.micro - other.micro;
|
||||||
} else if (this.patch != other.patch) {
|
} else if (this.patch != other.patch) {
|
||||||
return this.patch - other.patch;
|
return this.patch - other.patch;
|
||||||
|
} else if (!Objects.equals(this.qualifier, other.qualifier)) {
|
||||||
|
if (this.qualifier == null) {
|
||||||
|
return 1;
|
||||||
|
} else if (other.qualifier == null) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.qualifier.compareTo(other.qualifier);
|
||||||
} else {
|
} else {
|
||||||
return Ordering.natural().nullsLast()
|
return 0;
|
||||||
.compare(this.qualifier, other.qualifier);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
import com.google.common.base.Suppliers;
|
|
||||||
import org.gradle.api.Action;
|
import org.gradle.api.Action;
|
||||||
import org.gradle.api.NamedDomainObjectContainer;
|
import org.gradle.api.NamedDomainObjectContainer;
|
||||||
import org.gradle.api.NamedDomainObjectList;
|
import org.gradle.api.NamedDomainObjectList;
|
||||||
@@ -82,6 +81,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.MinecraftMetadataProv
|
|||||||
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftSourceSets;
|
import net.fabricmc.loom.configuration.providers.minecraft.MinecraftSourceSets;
|
||||||
import net.fabricmc.loom.task.GenerateSourcesTask;
|
import net.fabricmc.loom.task.GenerateSourcesTask;
|
||||||
import net.fabricmc.loom.util.DeprecationHelper;
|
import net.fabricmc.loom.util.DeprecationHelper;
|
||||||
|
import net.fabricmc.loom.util.Lazy;
|
||||||
import net.fabricmc.loom.util.MirrorUtil;
|
import net.fabricmc.loom.util.MirrorUtil;
|
||||||
import net.fabricmc.loom.util.ModPlatform;
|
import net.fabricmc.loom.util.ModPlatform;
|
||||||
import net.fabricmc.loom.util.fmj.FabricModJson;
|
import net.fabricmc.loom.util.fmj.FabricModJson;
|
||||||
@@ -217,7 +217,7 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
|
|||||||
interfaceInjection(interfaceInjection -> {
|
interfaceInjection(interfaceInjection -> {
|
||||||
interfaceInjection.getEnableDependencyInterfaceInjection().convention(true).finalizeValueOnRead();
|
interfaceInjection.getEnableDependencyInterfaceInjection().convention(true).finalizeValueOnRead();
|
||||||
});
|
});
|
||||||
this.platform = project.provider(Suppliers.memoize(() -> {
|
this.platform = project.provider(Lazy.of(() -> {
|
||||||
Object platformProperty = GradleUtils.getProperty(project, PLATFORM_PROPERTY);
|
Object platformProperty = GradleUtils.getProperty(project, PLATFORM_PROPERTY);
|
||||||
|
|
||||||
if (platformProperty != null) {
|
if (platformProperty != null) {
|
||||||
|
|||||||
@@ -35,7 +35,6 @@ import java.util.function.Supplier;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import com.google.common.base.Suppliers;
|
|
||||||
import dev.architectury.loom.forge.dependency.DependencyProviders;
|
import dev.architectury.loom.forge.dependency.DependencyProviders;
|
||||||
import dev.architectury.loom.forge.dependency.ForgeRunsProvider;
|
import dev.architectury.loom.forge.dependency.ForgeRunsProvider;
|
||||||
import org.gradle.api.Project;
|
import org.gradle.api.Project;
|
||||||
@@ -63,6 +62,7 @@ import net.fabricmc.loom.configuration.providers.minecraft.mapped.IntermediaryMi
|
|||||||
import net.fabricmc.loom.configuration.providers.minecraft.mapped.MojangMappedMinecraftProvider;
|
import net.fabricmc.loom.configuration.providers.minecraft.mapped.MojangMappedMinecraftProvider;
|
||||||
import net.fabricmc.loom.configuration.providers.minecraft.mapped.NamedMinecraftProvider;
|
import net.fabricmc.loom.configuration.providers.minecraft.mapped.NamedMinecraftProvider;
|
||||||
import net.fabricmc.loom.configuration.providers.minecraft.mapped.SrgMinecraftProvider;
|
import net.fabricmc.loom.configuration.providers.minecraft.mapped.SrgMinecraftProvider;
|
||||||
|
import net.fabricmc.loom.util.Lazy;
|
||||||
import net.fabricmc.loom.util.ModPlatform;
|
import net.fabricmc.loom.util.ModPlatform;
|
||||||
import net.fabricmc.loom.util.download.Download;
|
import net.fabricmc.loom.util.download.Download;
|
||||||
import net.fabricmc.loom.util.download.DownloadBuilder;
|
import net.fabricmc.loom.util.download.DownloadBuilder;
|
||||||
@@ -109,8 +109,8 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
|||||||
this.mixinApExtension = project.getObjects().newInstance(MixinExtensionImpl.class, project);
|
this.mixinApExtension = project.getObjects().newInstance(MixinExtensionImpl.class, project);
|
||||||
this.loomFiles = files;
|
this.loomFiles = files;
|
||||||
this.unmappedMods = project.files();
|
this.unmappedMods = project.files();
|
||||||
this.forgeExtension = Suppliers.memoize(() -> isForge() ? project.getObjects().newInstance(ForgeExtensionImpl.class, project, this) : null);
|
this.forgeExtension = Lazy.of(() -> isForge() ? project.getObjects().newInstance(ForgeExtensionImpl.class, project, this) : null);
|
||||||
this.neoForgeExtension = Suppliers.memoize(() -> isNeoForge() ? project.getObjects().newInstance(NeoForgeExtensionImpl.class, project) : null);
|
this.neoForgeExtension = Lazy.of(() -> isNeoForge() ? project.getObjects().newInstance(NeoForgeExtensionImpl.class, project) : null);
|
||||||
|
|
||||||
// Setup the default intermediate mappings provider.
|
// Setup the default intermediate mappings provider.
|
||||||
setIntermediateMappingsProvider(IntermediaryMappingsProvider.class, provider -> {
|
setIntermediateMappingsProvider(IntermediaryMappingsProvider.class, provider -> {
|
||||||
|
|||||||
Reference in New Issue
Block a user