Миграция с 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 SUCCESSFUL Total time: 3.953 secs $ |
Написано с Gradle 2.2.1
Ссылка: | Gradle Good: переименуйте имена задач Ant при импорте файла сборки Ant от нашего партнера JCG Хьюберта А. Кляйна Иккинка в блоге JDriven . |