Gradle

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

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

Разработчик

Gradle Inc.

Написана на

Java, Groovy, Kotlin

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

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

Первый выпуск

2007

Аппаратная платформа

Java Virtual Machine

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

4.2 [1] (7 июля 2017)

Состояние

активное

Лицензия

Apache 2.0 license

Сайт

gradle.org

Commons-logo.svg Gradle на Викискладе

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 
3 sourceSets {
4     main {
5         java {
6             srcDirs = ['src/java']
7         }
8     }
9 }

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • Muschko, B. and Dockter, H. Gradle in Action. — Manning Publications Company, 2013. — 456 p. — ISBN 9781617291302.
  • Berglund, T. Gradle Beyond the Basics. — O'Reilly Media, 2013. — 80 p. — ISBN 9781449373825.
  • Berglund, T. and McCullough, M. Building and Testing with Gradle. — O'Reilly Media, 2011. — 110 p. — ISBN 9781449304638.
  • Kousen, K. Gradle for Android. — O'Reilly Media, Incorporated, 2015. — 120 p. — ISBN 9781491947029.
  • Ikkink, H. K. Gradle Effective Implementation Guide. — Packt Publishing, 2012. — 350 p. — ISBN 9781849518116.

Ссылки[править | править вики-текст]