mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-03-30 05:05:20 -05:00
This commit is contained in:
@@ -60,6 +60,7 @@ public abstract class RemapConfigurationSettings implements Named {
|
||||
getOnCompileClasspath().finalizeValueOnRead();
|
||||
getOnRuntimeClasspath().finalizeValueOnRead();
|
||||
getPublishingMode().convention(PublishingMode.NONE).finalizeValueOnRead();
|
||||
getApplyDependencyTransforms().convention(defaultDependencyTransforms()).finalizeValueOnRead();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -100,6 +101,11 @@ public abstract class RemapConfigurationSettings implements Named {
|
||||
*/
|
||||
public abstract Property<PublishingMode> getPublishingMode();
|
||||
|
||||
/**
|
||||
* @return true when dependencies should be evaluated for minecraft jar transforms such as transitive Access Wideners or Injected interfaces.
|
||||
*/
|
||||
public abstract Property<Boolean> getApplyDependencyTransforms();
|
||||
|
||||
public enum PublishingMode {
|
||||
NONE,
|
||||
COMPILE_ONLY(JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME),
|
||||
@@ -174,4 +180,8 @@ public abstract class RemapConfigurationSettings implements Named {
|
||||
private NamedDomainObjectProvider<Configuration> getConfigurationByName(String name) {
|
||||
return getProject().getConfigurations().named(name);
|
||||
}
|
||||
|
||||
private Provider<Boolean> defaultDependencyTransforms() {
|
||||
return getSourceSet().map(sourceSet -> sourceSet.getName().equals(SourceSet.MAIN_SOURCE_SET_NAME) || sourceSet.getName().equals("client"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,10 +113,12 @@ public record SpecContextImpl(List<FabricModJson> modDependencies, List<FabricMo
|
||||
.map(File::toPath);
|
||||
|
||||
final List<Path> runtimeEntries = extension.getRuntimeRemapConfigurations().stream()
|
||||
.filter(settings -> settings.getApplyDependencyTransforms().get())
|
||||
.flatMap(resolve)
|
||||
.toList();
|
||||
|
||||
return extension.getCompileRemapConfigurations().stream()
|
||||
.filter(settings -> settings.getApplyDependencyTransforms().get())
|
||||
.flatMap(resolve)
|
||||
.filter(runtimeEntries::contains) // Use the intersection of the two configurations.
|
||||
.map(FabricModJsonFactory::createFromZipOptional)
|
||||
|
||||
Reference in New Issue
Block a user