Чтобы получить текущую версию Gradle, мы можем использовать свойство gradleVersion объекта Gradle . Это возвращает строковое значение, которое мы можем использовать для отображения значений. Если мы хотим сравнить версии Gradle, мы можем использовать объект GradleVersion . С помощью этого класса мы можем получить текущую версию, но мы также можем сравнить версии Gradle. Это может быть полезно в наших скриптах сборки, если у нас есть функциональность, основанная на версии Gradle.
В следующем файле сборки у нас сначала есть задача, которая использует gradleVersion Gradle . Затем внутри задачи мы используем статический метод current класса GradleVersion . Мы получаем экземпляр GradleVersion и отображаем различные свойства этого экземпляра. В задаче compareGradleVersion мы создаем экземпляр GradleVersion с помощью метода статической version . Мы сравниваем несколько объектов GradleVersion и обладаем различной функциональностью в зависимости от версии Gradle.
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
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" }} |
Когда мы запускаем задачи, мы получаем следующий вывод:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
$ gradle -q printGradleVersionGradle version is 2.2Your Gradle version is 2.2Base version: Gradle 2.2Build time : 2014-11-10 13:31:44 UTCBuild number: noneCommit id : aab8521f1fd9a3484cac18123a72bcfdeb7006ecNext major : Gradle 3.0Snapshot? : false$ gradle -q compareGradleVersionYour Gradle version is newer than 2.1$ |
Спасибо Джону Энгельману, который показал мне этот класс по запросу для плагина Gradle Grails.
| Ссылка: | Gradle Good: использование и работа с Gradle Version от нашего партнера по JCG Хьюберта Кляйна Иккинка в блоге JDriven . |