Миграция с Ant на Gradle очень проста с importBuild метода AntBuilder из AntBuilder . Нам нужно только добавить эту единственную строку и сослаться на наш существующий XML-файл сборки Ant, и теперь все задачи Ant могут выполняться как задачи Gradle. Мы можем автоматически переименовывать задачи Ant, если мы хотим избежать конфликтов имен задач с именами задач Gradle. Мы используем аргумент замыкания с методом importBuild и возвращаем новые имена задач. Имя существующей задачи Ant является первым аргументом закрытия.
Давайте сначала создадим простой файл Ant build.xml :
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
|
<project> <target name="showMessage" description="Show simple message"> <echo message="Running Ant task 'showMessage'"/> </target> <target name="showAnotherMessage" depends="showMessage" description="Show another simple message"> <echo message="Running Ant task 'showAnotherMessage'"/> </target></project> |
Файл сборки содержит две цели: showMessage и showAnotherMessage с зависимостью задачи. У нас есть следующий пример файла сборки Gradle для использования этих задач Ant и ant- префикса к исходным именам ant- :
|
01
02
03
04
05
06
07
08
09
10
11
12
|
// Import Ant build and // prefix all task names with// 'ant-'.ant.importBuild('build.xml') { antTaskName -> "ant-${antTaskName}".toString()}// Set group property for all // Ant tasks.tasks.matching { task -> task.name.startsWith('ant-')}*.group = 'Ant' |
Мы можем запустить задачу задач, чтобы увидеть, были ли задачи Ant импортированы и переименованы:
|
1
2
3
4
5
6
7
8
|
$ gradle tasks --all...Ant tasks---------ant-showAnotherMessage - Show another simple message [ant-showMessage]ant-showMessage - Show simple message...$ |
Мы можем выполнить задачу ant-showAnotherMessage и получим следующий вывод:
|
01
02
03
04
05
06
07
08
09
10
|
$ gradle ant-showAnotherMessage:ant-showMessage[ant:echo] Running Ant task 'showMessage':ant-showAnotherMessage[ant:echo] Running Ant task 'showAnotherMessage'BUILD SUCCESSFULTotal time: 3.953 secs$ |
Написано с Gradle 2.2.1
| Ссылка: | Gradle Good: переименуйте имена задач Ant при импорте файла сборки Ant от нашего партнера JCG Хьюберта А. Кляйна Иккинка в блоге JDriven . |