Gradle | |
---|---|
![]() | |
Тип | Автоматизация сборки |
Написана на | Java и Groovy[1] |
Операционная система | кроссплатформенность |
Первый выпуск | 2007 |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | |
Состояние | активное |
Лицензия | Apache License 2.0[3] |
Сайт | gradle.org |
![]() |
Gradle — система автоматической сборки, построенная на принципах Apache Ant и Apache Maven, но предоставляющая DSL на языке Groovy вместо традиционной XML-образной формы представления конфигурации проекта.
В отличие от Apache Maven, основанного на концепции жизненного цикла проекта, и Apache Ant, в котором порядок выполнения задач (targets) определяется отношениями зависимости (depends-on), Gradle использует направленный ациклический граф для определения порядка выполнения задач.
Gradle был разработан для расширяемых многопроектных сборок, и поддерживает инкрементальные сборки, определяя, какие компоненты дерева сборки не изменились и какие задачи, зависимые от этих частей, не требуют перезапуска.
Основные плагины предназначены для разработки и развертывания Java, Groovy и Scala приложений, но готовятся плагины и для других языков программирования.
Рассмотрим пример проекта, в котором используется стандартная структура каталогов Maven для исходных кодов и ресурсов. Такая структура включает в себя следующие каталоги:
build.gradle
1 apply plugin: 'java'
Результат выполнения команды gradle build для сборки проекта
> gradle build
:compileJava
:processResources
:classes
:jar
:assemble
:compileTestJava
:processTestResources
:testClasses
:test
:check
:build
BUILD SUCCESSFUL
Java плагин эмулирует жизненные циклы Maven, в виде задач в направленном ациклическом графе зависимостей для входов и выходов каждой задачи. В этом примере выполнение задачи build зависит от результата выполнения задач check и assemble. Также задача check зависит от test, а assemble от jar.
Gradle также позволяет использовать для проектов структуру каталогов, отличающуюся от конвенции Maven. В следующем примере будет рассмотрен проект, в котором исходный код находится в каталоге src/java, а не в src/main/java.
build.gradle
1 apply plugin: 'java'
2
3 sourceSets {
4 main {
5 java {
6 srcDirs = ['src/java']
7 }
8 }
9 }
В этой статье или разделе имеется список источников или внешних ссылок, но источники отдельных утверждений остаются неясными из-за отсутствия сносок. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .