Releases: nebula-plugins/gradle-resolution-rules-plugin
v7.8.5
Move core alignment feature warning message to INFO level to avoid polluting UI output.
(v7.8.4 was unreleased)
v7.8.3
Avoid reinitializing substitution rules within every apply.
v7.8.2
- Avoid registering more than one action for
componentSelection.all(reject rules) andresolutionStrategy.eachDependency(substitution rules). Now uses aHashMaplookup using the module identifier. Improves both the performance of applying the rule initially, and evaluating the rules during dependency resolution - Use the build-in
DefaultModuleIdentifier/DefaultModuleVersionIdentifierclasses to avoid additional parsing on some paths: many dependency related methods takeObjectand will pass-through already parsed representations
v7.8.1
Avoid eager resolution of task configuration dependencies caused by the ambiguity of using DependencySubstitutions.all for dependency substitutions for substitutions with version selectors. Switches to ResolutionStrategy.eachDependency which doesn't have the same limitation.
This will have a limited impact for serial builds, but greatly improves parallel build performance because configuration resolution can occur during task execution where configuration resolution is parallelized.
v7.8.0
Core Gradle alignment can be enabled from an extension
The value from the extension will be used if there is no passed in property. The extension value defaults to false
This enables setting the value via an extension without using a property, and allows us to update the value until project.onExecute or config.onResolve take place
v7.7.7
- Java 13 compatibility avoiding
java.lang.NoSuchFieldException: modifiers
v7.7.2
v7.7.1
v7.7.0-rc.3
Only parse rules once and filter independently for each project This avoids Jackson ObjectMapper and zip file reading overhead for each project.
v7.7.0-rc.2
rules.kt - Memoize should use computeIfAbsent