Gradle

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Gradle
Gradle logo small.png
Тип

Автоматизация сборки

Разработчик

Hans Dockter, Adam Murdoch, Szczepan Faber, Daz DeBoer, Peter Niederwieser, Luke Daley, Steve Appling, Rene Groeschke[1]

Написана на

Java, Groovy

Операционная система

Кроссплатформенное программное обеспечение

Последняя версия

1.11[2] (19 ноября 2013)

Состояние

активное

Лицензия

Apache 2.0 licence

Сайт

gradle.org

Gradle — система автоматической сборки, построенная на принципах Apache Ant и Apache Maven, но предоставляющая DSL на языке Groovy вместо традиционной XML-образной формы представления конфигурации проекта.

В отличие от Apache Maven, основанного на концепции жизненного цикла проекта, и Apache Ant, в котором порядок выполнения задач(targets) определяется отношениями зависимости (depends-on), Gradle использует направленный ациклический граф для определения порядка выполнения задач.

Gradle был разработан для расширяемых много-проектных сборок, и поддерживает инкрементальные сборки, определяя, какие компоненты дерева сборки не изменились и какие задачи, зависимые от этих частей, не требуют перезапуска.

Основные плагины предназначены для разработки и развертывания Java, Groovy и Scala приложений, но готовятся плагины и для других языков программирования.

Пример проекта для Java[править | править исходный текст]

Рассмотрим пример проекта, в котором используется стандартная структура директорий Maven для исходных кодов и ресурсов. Такая структура проекта включает в себя следующие директории: src/main/java, src/main/resources, src/test/java и src/test/resources.

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. sourceSets.main.java.srcDirs = ['src/java']
    

История версий[править | править исходный текст]

Номер версии Дата выхода
0.7 20 Июля 2009
0.8 28 Сентября 2009
0.9 19 Декабря 2010
1.0 12 Июня 2012
1.1 31 Июля 2012
1.2 12 Сентября 2012
1.3 20 Ноября 2012
1.4 28 Января 2013
1.5 27 Марта 2013
1.6 7 Мая 2013
1.7 6 Августа 2013
1.8 24 Сентября 2013
1.9 19 Ноября 2013
1.10 17 Декабря 2013
1.11 11 Февраля 2014

Последняя версия доступна на странице загрузки

См. также[править | править исходный текст]

Примечания[править | править исходный текст]

Ссылки[править | править исходный текст]