mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-03-28 04:07:01 -05:00
Add 'fabric.loom.disableObfuscation' property to disable all remapping. (#1409)
* Add 'fabric.loom.disableObfuscation' property * More work, the test passes now. * Fix
This commit is contained in:
@@ -39,6 +39,7 @@ import org.gradle.api.configuration.BuildFeatures;
|
||||
import org.gradle.api.file.ConfigurableFileCollection;
|
||||
import org.gradle.api.file.FileCollection;
|
||||
import org.gradle.api.provider.ListProperty;
|
||||
import org.gradle.api.provider.Property;
|
||||
|
||||
import net.fabricmc.loom.LoomGradleExtension;
|
||||
import net.fabricmc.loom.api.mappings.intermediate.IntermediateMappingsProvider;
|
||||
@@ -55,8 +56,10 @@ import net.fabricmc.loom.configuration.providers.minecraft.MinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.library.LibraryProcessorManager;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.mapped.IntermediaryMinecraftProvider;
|
||||
import net.fabricmc.loom.configuration.providers.minecraft.mapped.NamedMinecraftProvider;
|
||||
import net.fabricmc.loom.util.Constants;
|
||||
import net.fabricmc.loom.util.download.Download;
|
||||
import net.fabricmc.loom.util.download.DownloadBuilder;
|
||||
import net.fabricmc.loom.util.gradle.GradleUtils;
|
||||
|
||||
public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl implements LoomGradleExtension {
|
||||
private final Project project;
|
||||
@@ -78,6 +81,8 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
||||
private final boolean configurationCacheActive;
|
||||
private final boolean isolatedProjectsActive;
|
||||
private final boolean isCollectingDependencyVerificationMetadata;
|
||||
private final Property<Boolean> disableObfuscation;
|
||||
private final Property<Boolean> dontRemap;
|
||||
|
||||
@Inject
|
||||
protected abstract BuildFeatures getBuildFeatures();
|
||||
@@ -108,6 +113,14 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
||||
configurationCacheActive = getBuildFeatures().getConfigurationCache().getActive().get();
|
||||
isolatedProjectsActive = getBuildFeatures().getIsolatedProjects().getActive().get();
|
||||
isCollectingDependencyVerificationMetadata = !project.getGradle().getStartParameter().getWriteDependencyVerifications().isEmpty();
|
||||
disableObfuscation = project.getObjects().property(Boolean.class);
|
||||
dontRemap = project.getObjects().property(Boolean.class);
|
||||
|
||||
disableObfuscation.set(project.provider(() -> GradleUtils.getBooleanProperty(getProject(), Constants.Properties.DISABLE_OBFUSCATION)));
|
||||
disableObfuscation.finalizeValueOnRead();
|
||||
|
||||
dontRemap.set(disableObfuscation.map(notObfuscated -> notObfuscated || GradleUtils.getBooleanProperty(getProject(), Constants.Properties.DONT_REMAP)));
|
||||
dontRemap.finalizeValueOnRead();
|
||||
|
||||
if (refreshDeps) {
|
||||
project.getLogger().lifecycle("Refresh dependencies is in use, loom will be significantly slower.");
|
||||
@@ -128,16 +141,6 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
||||
return loomFiles;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDependencyManager(LoomDependencyManager dependencyManager) {
|
||||
this.dependencyManager = dependencyManager;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LoomDependencyManager getDependencyManager() {
|
||||
return Objects.requireNonNull(dependencyManager, "Cannot get LoomDependencyManager before it has been setup");
|
||||
}
|
||||
|
||||
@Override
|
||||
public MinecraftMetadataProvider getMetadataProvider() {
|
||||
return Objects.requireNonNull(metadataProvider, "Cannot get MinecraftMetadataProvider before it has been setup");
|
||||
@@ -160,11 +163,19 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
||||
|
||||
@Override
|
||||
public MappingConfiguration getMappingConfiguration() {
|
||||
if (disableObfuscation()) {
|
||||
throw new UnsupportedOperationException("Cannot get mappings configuration in a non-obfuscated environment");
|
||||
}
|
||||
|
||||
return Objects.requireNonNull(mappingConfiguration, "Cannot get MappingsProvider before it has been setup");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setMappingConfiguration(MappingConfiguration mappingConfiguration) {
|
||||
if (disableObfuscation()) {
|
||||
throw new UnsupportedOperationException("Cannot set mappings configuration in a non-obfuscated environment");
|
||||
}
|
||||
|
||||
this.mappingConfiguration = mappingConfiguration;
|
||||
}
|
||||
|
||||
@@ -278,6 +289,10 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
||||
|
||||
@Override
|
||||
public Collection<LayeredMappingsFactory> getLayeredMappingFactories() {
|
||||
if (disableObfuscation()) {
|
||||
throw new UnsupportedOperationException("Cannot get layered mapping factories in a non-obfuscated environment");
|
||||
}
|
||||
|
||||
hasEvaluatedLayeredMappings = true;
|
||||
return Collections.unmodifiableCollection(layeredMappingsDependencyMap.values());
|
||||
}
|
||||
@@ -308,4 +323,14 @@ public abstract class LoomGradleExtensionImpl extends LoomGradleExtensionApiImpl
|
||||
public boolean isCollectingDependencyVerificationMetadata() {
|
||||
return isCollectingDependencyVerificationMetadata;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean dontRemapOutputs() {
|
||||
return dontRemap.get();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean disableObfuscation() {
|
||||
return disableObfuscation.get();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user