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']
}
}
}
Кроссплатформенное программное обеспечение
Первый выпуск: 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']
}
}
}