'How to compare version numbers in gradle?
I need to use a different Gradle plugin version dependening the Gradle version. How can I compare a version in Gradle? The variable gradle.gradleVersion is a string and can't good compare. The follow does not work if the minor version has only one digit.
buildscript {
dependencies {
def ver = gradle.gradleVersion >= '2.12' ? '+' : '1.5.+'
classpath group: 'de.inetsoftware', name: 'SetupBuilder', version: ver
}
}
Solution 1:[1]
The class VersionNumber is the trick:
buildscript {
dependencies {
def ver = VersionNumber.parse( gradle.gradleVersion ) >= VersionNumber.parse( '2.12' ) ? '+' : '1.5.+'
classpath group: 'de.inetsoftware', name: 'SetupBuilder', version: ver
}
}
Note: VersionNumber is deprecated in Gradle 7 and is being removed from Gradle 8. There is no public replacement (it was never meant to be used outside of Gradle internal code). See docs.
https://docs.gradle.org/current/javadoc/org/gradle/util/VersionNumber.html
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Samuel Neff |
