Разработчик (и) | Ханс Доктер, Адам Мердок, Щепан Фабер, Питер Нидервизер, Люк Дейли, Рене Грёшке, Даз ДеБоер |
---|---|
Начальный выпуск | 2007 г.; 13 лет назад (2007 г.) |
Стабильный выпуск | 6.7 / 14 октября 2020 г.; 22 дня назад (2020-10-14) |
Предварительный выпуск | 6.7 RC5 / 12 октября 2020 г.; 24 дня назад (12.10.2020) |
Репозиторий | |
Написано на | Java, Groovy, Kotlin |
Тип | Инструмент сборки |
Лицензия | Лицензия Apache 2.0 |
Веб-сайт | www.gradle.org |
Gradle - это инструмент автоматизации сборки для разработки многоязычного программного обеспечения. Он контролирует процесс разработки в задачах от компиляции и упаковки до тестирования, развертывания и публикации.
Методология Gradle основана на концепциях Apache Ant и Apache Maven, а также представляет Kotlin на основе Groovy. на основе предметно-ориентированного языка, вместо использования формы XML, используемой Maven для объявления конфигурации проекта. Gradle использует направленный ациклический граф для определения порядка, в котором могут быть запущены задачи, посредством управления зависимостями.
Gradle был разработан для многопроектных сборок, которые могут значительно увеличиваться. Он работает на основе серии задач сборки, которые могут выполняться последовательно или параллельно. Добавочные сборки поддерживаются путем определения частей дерева сборки, которые уже обновлены; любая задача, зависящая только от этих частей, не нуждается в повторном выполнении. Он также поддерживает кэширование компонентов сборки, возможно, через общую сеть с использованием Gradle Build Cache. Он создает веб-визуализацию сборки под названием Gradle Build Scans. Программное обеспечение расширяется для новых функций и языков программирования с помощью подсистемы плагинов.
Gradle распространяется как программное обеспечение с открытым исходным кодом под лицензией Apache License 2.0 и впервые было выпущено в 2007 году.
По состоянию на 2016 год первоначальные плагины были в основном ориентированы на Java, Groovy и Scala разработка и внедрение.
В этом примере структура каталогов Maven используется для источников и ресурсов Java. Это каталоги src / main / java, src / main / resources, src / test / java и src / test / resources.
применить плагин: 'java'
Выполнение задачи сборки (сборка gradle) приводит к появлению в журнале консоли:
>сборка gradle: compileJava : processResources: classes: jar: assembly: compileTestJava: processTestResources: testClasses: test: check: build BUILD SUCCESSFUL
Плагин Java эмулирует многие из ожидаемых жизненных циклов Maven как задачи в направленном ациклическом графе зависимостей для входов и выходов каждая задача. В этом простом случае задача build зависит от выходных данных задач check и assembly . Аналогично, проверка зависит от test, а ассемблер зависит от jar .
Для проектов, которые не следуют соглашениям Maven, Gradle разрешает каталог структура, подлежащая настройке. В следующем примере будет поддерживаться проект, который содержит исходные файлы в src / java, а не в соглашении src / main / java, применяемом Maven.
применить плагин: 'java' sourceSets.main.java.srcDirs = ['src / java']
Gradle тесно интегрирован с Ant, и даже обрабатывает файлы сборки Ant как сценарии, которые можно напрямую импортировать во время сборки. В этом примере показана упрощенная цель Ant, включенная в задачу Gradle.
ant.importBuild 'build.xml'
Выполнение команды gradle ant.target приводит к
>gradle ant.target: ant.target [ant: echo] Запуск ant.target! СТРОИТЬ УСПЕШНО