Skip to content

Commit ca32f2e

Browse files
committed
Slightly optimize configuration resolution for ATs
When a configuration is queried for resolution, it only checks its hierarchy for dependencies that have requested transformation instead of searching the entire project's configuration set. Note: This performance enhancement does not affect the configuration cache.
1 parent 9e40b6d commit ca32f2e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

at-gradle/src/main/java/net/minecraftforge/accesstransformers/gradle/AccessTransformersExtensionImpl.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,16 @@ public AccessTransformersExtensionImpl(AccessTransformersPlugin plugin, Project
5454

5555
var configurations = project.getConfigurations();
5656
configurations.configureEach(configuration -> configuration.withDependencies(dependencies -> {
57-
var constraints = configurations
57+
var hierarchy = configuration.getHierarchy();
58+
59+
var constraints = hierarchy
5860
.stream()
5961
.flatMap(c -> c.getDependencyConstraints().matching(it ->
6062
((ExtensionAware) it).getExtensions().getExtraProperties().has("__accessTransformers_configs")
6163
).stream())
6264
.collect(Collectors.toMap(ModuleVersionSelector::getModule, Function.identity()));
6365

64-
for (var c : configurations) {
66+
for (var c : hierarchy) {
6567
for (var dependency : c.getDependencies().matching(it ->
6668
((ExtensionAware) it).getExtensions().getExtraProperties().has("__accessTransformers_configs")
6769
)) {

0 commit comments

Comments
 (0)