mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-03 05:57:42 -05:00
Fixes to legacy jar processors.
This commit is contained in:
@@ -63,11 +63,13 @@ public interface LoomGradleExtensionAPI {
|
||||
|
||||
void decompilers(Action<NamedDomainObjectContainer<DecompilerOptions>> action);
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
@Deprecated()
|
||||
ListProperty<JarProcessor> getGameJarProcessors();
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
void addJarProcessor(JarProcessor processor);
|
||||
@Deprecated()
|
||||
default void addJarProcessor(JarProcessor processor) {
|
||||
getGameJarProcessors().add(processor);
|
||||
}
|
||||
|
||||
ListProperty<MinecraftJarProcessor<?>> getMinecraftJarProcessors();
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ package net.fabricmc.loom.configuration.processors;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
@Deprecated(forRemoval = true)
|
||||
@Deprecated()
|
||||
public interface JarProcessor {
|
||||
/**
|
||||
* Returns a unique ID for this jar processor, containing all configuration details.
|
||||
|
||||
@@ -47,8 +47,14 @@ public abstract class LegacyJarProcessorWrapper implements MinecraftJarProcessor
|
||||
this.delegate = delegate;
|
||||
}
|
||||
|
||||
@Inject
|
||||
public abstract Project getProject();
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "legacy:" + delegate.getClass().getCanonicalName();
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable LegacyJarProcessorWrapper.Spec buildSpec(SpecContext context) {
|
||||
delegate.setup();
|
||||
|
||||
@@ -59,7 +59,13 @@ public final class MinecraftJarProcessorManager {
|
||||
@Nullable
|
||||
public static MinecraftJarProcessorManager create(Project project) {
|
||||
final LoomGradleExtension extension = LoomGradleExtension.get(project);
|
||||
return MinecraftJarProcessorManager.create(extension.getMinecraftJarProcessors().get(), SpecContextImpl.create(project));
|
||||
List<MinecraftJarProcessor<?>> processors = new ArrayList<>(extension.getMinecraftJarProcessors().get());
|
||||
|
||||
for (JarProcessor legacyProcessor : extension.getGameJarProcessors().get()) {
|
||||
processors.add(project.getObjects().newInstance(LegacyJarProcessorWrapper.class, legacyProcessor));
|
||||
}
|
||||
|
||||
return MinecraftJarProcessorManager.create(processors, SpecContextImpl.create(project));
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
@@ -60,13 +60,7 @@ public record SpecContextImpl(List<FabricModJson> modDependencies, List<FabricMo
|
||||
final Set<File> artifacts = entry.getSourceConfiguration().get().resolve();
|
||||
|
||||
for (File artifact : artifacts) {
|
||||
final FabricModJson fabricModJson;
|
||||
|
||||
try {
|
||||
fabricModJson = FabricModJsonFactory.createFromZipNullable(artifact.toPath());
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Failed to read dependent mod jar: " + artifact, e);
|
||||
}
|
||||
final FabricModJson fabricModJson = FabricModJsonFactory.createFromZipNullable(artifact.toPath());
|
||||
|
||||
if (fabricModJson != null) {
|
||||
mods.add(fabricModJson);
|
||||
|
||||
@@ -51,7 +51,6 @@ import net.fabricmc.loom.api.processor.MinecraftJarProcessor;
|
||||
import net.fabricmc.loom.configuration.RemapConfigurations;
|
||||
import net.fabricmc.loom.configuration.ide.RunConfigSettings;
|
||||
import net.fabricmc.loom.configuration.processors.JarProcessor;
|
||||
import net.fabricmc.loom.configuration.processors.LegacyJarProcessorWrapper;
|
||||
import net.fabricmc.loom.configuration.providers.mappings.GradleMappingContext;
|
||||
import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpec;
|
||||
import net.fabricmc.loom.configuration.providers.mappings.LayeredMappingSpecBuilderImpl;
|
||||
@@ -67,7 +66,7 @@ import net.fabricmc.loom.util.gradle.SourceSetHelper;
|
||||
*/
|
||||
public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionAPI {
|
||||
protected final DeprecationHelper deprecationHelper;
|
||||
@Deprecated(forRemoval = true)
|
||||
@Deprecated()
|
||||
protected final ListProperty<JarProcessor> jarProcessors;
|
||||
protected final ConfigurableFileCollection log4jConfigs;
|
||||
protected final RegularFileProperty accessWidener;
|
||||
@@ -176,12 +175,6 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
|
||||
return jarProcessors;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addJarProcessor(JarProcessor processor) {
|
||||
getDeprecationHelper().replaceWithInLoom2_0("addJarProcessor", "getMinecraftJarProcessors");
|
||||
getMinecraftJarProcessors().add(getProject().getObjects().newInstance(LegacyJarProcessorWrapper.class, processor));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ListProperty<MinecraftJarProcessor<?>> getMinecraftJarProcessors() {
|
||||
return minecraftJarProcessors;
|
||||
|
||||
@@ -148,7 +148,12 @@ public abstract class RemapJarTask extends AbstractRemapJarTask {
|
||||
final LoomGradleExtension extension = LoomGradleExtension.get(getProject());
|
||||
final MixinExtension mixinExtension = extension.getMixin();
|
||||
|
||||
final FabricModJson fabricModJson = FabricModJsonFactory.createFromZip(getInputFile().getAsFile().get().toPath());
|
||||
final FabricModJson fabricModJson = FabricModJsonFactory.createFromZipNullable(getInputFile().getAsFile().get().toPath());
|
||||
|
||||
if (fabricModJson == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
final Collection<String> allMixinConfigs = fabricModJson.getMixinConfigurations();
|
||||
|
||||
for (SourceSet sourceSet : mixinExtension.getMixinSourceSets()) {
|
||||
|
||||
@@ -75,8 +75,14 @@ public final class FabricModJsonFactory {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public static FabricModJson createFromZipNullable(Path zipPath) throws IOException {
|
||||
JsonObject jsonObject = ZipUtils.unpackGsonNullable(zipPath, FABRIC_MOD_JSON, JsonObject.class);
|
||||
public static FabricModJson createFromZipNullable(Path zipPath) {
|
||||
JsonObject jsonObject;
|
||||
|
||||
try {
|
||||
jsonObject = ZipUtils.unpackGsonNullable(zipPath, FABRIC_MOD_JSON, JsonObject.class);
|
||||
} catch (IOException e) {
|
||||
throw new UncheckedIOException("Failed to read zip: " + zipPath, e);
|
||||
}
|
||||
|
||||
if (jsonObject == null) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user