要获取当前的Gradle版本,我们可以使用Gradle
对象的gradleVersion
属性。 这将返回一个可用于显示值的字符串值。 如果我们想比较Gradle版本,可以使用GradleVersion
对象。 通过此类,我们可以获得当前版本,但是我们也可以比较Gradle版本。 如果我们具有基于Gradle版本的功能,这在我们的构建脚本中会很有用。
在以下构建文件中,我们首先有一个任务,该任务使用Gradle
的gradleVersion
。 然后在任务中,我们使用GradleVersion
类的current
静态方法。 我们得到一个GradleVersion
实例,并且显示与此实例不同的属性。 在任务compareGradleVersion
我们使用静态version
方法创建GradleVersion
实例。 我们比较多个GradleVersion
对象,并且基于Gradle版本具有不同的功能。
task printGradleVersion << {
// Get current Gradle version as object.
final GradleVersion gradleVersion = GradleVersion.current()
// Print different properties.
println "Your Gradle version is ${gradleVersion.version}"
println "Base version: ${gradleVersion.baseVersion}"
println "Build time : ${gradleVersion.buildTime}"
println "Build number: ${gradleVersion.buildNumber}"
println "Commit id : ${gradleVersion.revision}"
println "Next major : ${gradleVersion.nextMajor}"
println "Snapshot? : ${gradleVersion.snapshot}"
}
task compareGradleVersion << {
// Current Gradle version.
final GradleVersion gradleVersion = GradleVersion.current()
// Gradle version 2.1 as GradleVersion object.
final GradleVersion gradle2_1 = GradleVersion.version('2.1')
// Compare versions.
if (gradleVersion > gradle2_1) {
println "Your Gradle version is newer than 2.1"
} else if (gradleVersion == gradle2_1) {
println "Your Gradle version is 2.1"
} else {
println "Your Gradle version is older than 2.1"
}
}
运行任务时,将获得以下输出:
$ gradle -q printGradleVersion
Gradle version is 2.2
Your Gradle version is 2.2
Base version: Gradle 2.2
Build time : 2014-11-10 13:31:44 UTC
Build number: none
Commit id : aab8521f1fd9a3484cac18123a72bcfdeb7006ec
Next major : Gradle 3.0
Snapshot? : false
$ gradle -q compareGradleVersion
Your Gradle version is newer than 2.1
$
感谢John Engelman ,他在对Gradle Grails插件的请求请求中向我展示了此类。
翻译自: https://www.javacodegeeks.com/2014/11/gradle-goodness-using-and-working-with-gradle-version.html