Open qux7 opened 1 month ago
This is caused by two (intentional) parts of the implementation:
6.5
is excluded because the compatibleRange()
takes an inclusive start version and an exclusive end version. So by definition, 6.5
would not be included in this range. The intent of this method is to say something like compatibleRange('7.3', '8.0')
where you know that 8.0
is not compatible with your plugin.6.0
is replaced with 6.0.1
because we intentionally only include the latest patch version of any given minor. See the code here. This motivated by #17 where the requester highlighted that including every version in a range would often result in far more tests than anyone practically wants to run. It's a performance optimization relying on the presumption that a Gradle patch release should be functionally equivalent to the x.y.0
base release outside of bugs Gradle acknowledged and fixed.
The first and last versions are not tested against!
id 'org.ajoberstar.stutter' version '1.0.0'
compatibleRange '6.0.0', '6.5'
:stutterWriteLocks
stutterWriteLocks
:Expected: both '6.0.0' and '6.5'` are included
Actual: neither '6.0.0' nor '6.5'` are included
The same misbehavior happens with
sparse = false
:(My guess is that this is somehow related to using the last available patch.)