Java, Groovy, Kotlin
Кроссплатформенное программное обеспечение
Первый выпуск: 2007
Аппаратная платформа: Java Virtual Machine
Текущая версия: 3.1 (20 Февраля 2017)
Лицензия: Apache 2.0
Сайт: gradle.org


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

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

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

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

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

build.gradle

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

apply plugin: 'java'

sourceSets{
main {
java {
srcDirs = ['src/java']
}
}
}

Comments and questions

Publish comment or question

Copyright 2018 © ELTASK.COM
All rights reserved.