如何在等级中比较版本号



我需要根据Gradle版本使用不同的Gradle插件版本。如何比较Gradle中的版本?变量gradle.gradleVersion是一个字符串,不能很好地进行比较。如果次要版本只有一个数字,则以下内容不起作用。

buildscript {
  dependencies {
     def ver = gradle.gradleVersion >= '2.12' ? '+' : '1.5.+'
     classpath group: 'de.inetsoftware', name: 'SetupBuilder', version: ver
  }
}

VersionNumber类就是诀窍:

buildscript {
  dependencies {
     def ver = VersionNumber.parse( gradle.gradleVersion ) >= VersionNumber.parse( '2.12' ) ? '+' : '1.5.+'
     classpath group: 'de.inetsoftware', name: 'SetupBuilder', version: ver
  }
}

注意:VersionNumber在Gradle 7中已弃用,并将从Gradle 8中删除。没有公共替换(它从来没有打算在Gradle内部代码之外使用)。请参阅文档。

https://docs.gradle.org/current/javadoc/org/gradle/util/VersionNumber.html

最新更新