Gradle: различия между версиями
[непроверенная версия] | [отпатрулированная версия] |
Не правильная версия в ссылке на release notes |
м релиз 4.0.1 |
||
Строка 1: | Строка 1: | ||
{{Карточка программы |
{{Карточка программы |
||
| первый выпуск = 2007 |
| первый выпуск = 2007 |
||
| последняя версия = |
| последняя версия = 4.0.1 <ref>[https://gradle.org/releases Релизы Gradle]</ref> |
||
| дата последней версии = [[ |
| дата последней версии = [[7 июля]] [[2017]] |
||
| name = Gradle |
| name = Gradle |
||
| logo = |
| logo = |
Версия от 08:28, 17 июля 2017
Gradle | |
---|---|
Тип | Автоматизация сборки |
Разработчики | Hans Dockter, Adam Murdoch, Szczepan Faber, Daz DeBoer, Peter Niederwieser, Luke Daley, Steve Appling, Rene Groeschke[1] |
Написана на | Java, Groovy, Kotlin |
Операционная система | Кроссплатформенное программное обеспечение |
Первый выпуск | 2007 |
Аппаратная платформа | Java Virtual Machine |
Последняя версия | 4.0.1 [2] (7 июля 2017) |
Репозиторий | github.com/gradle/gradle |
Состояние | активное |
Лицензия | Apache 2.0 license |
Сайт | 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
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']
}
}
}
См. также
Примечания
- ↑ http://www.gradle.org/credits — Gradle Credits
- ↑ Релизы Gradle
Литература
- 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.
Ссылки
- http://www.gradle.org/ — официальный веб-сайт. (англ.)
В статье есть список источников, но не хватает сносок. |