Gradle - Википедия - Gradle

Gradle
Gradle logo.png
Разработчики)Ганс Доктер, Адам Мердок, Щепан Фабер, Петер Нидервизер, Люк Дейли, Рене Грёшке, Даз ДеБоер
изначальный выпуск2007; 13 лет назад (2007)
Стабильный выпуск
6.7.1 / 16 ноября 2020 г.; 32 дней назад (2020-11-16)[1]
Предварительный выпуск
6.8 RC3 / 17 декабря 2020 г.; 1 день назад (2020-12-17)
Репозиторий Отредактируйте это в Викиданных
Написано вЯва, Groovy, Котлин
ТипИнструмент сборки
ЛицензияЛицензия Apache 2.0
Интернет сайтwww.gradle.org

Gradle это автоматизация сборки инструмент для разработки многоязычного программного обеспечения. Он контролирует процесс разработки в задачах от компиляции и упаковки до тестирования, развертывания и публикации. Поддерживаемые языки включают Java (Котлин, Groovy, Scala ) , C /C ++, JavaScript.[2]

Gradle основывается на концепции Apache Ant и Apache Maven, и вводит Groovy - & Котлин -основан предметно-ориентированный язык в отличие от XML конфигурация проекта, используемая Maven.[3] Gradle использует ориентированный ациклический граф для определения порядка, в котором могут быть запущены задачи, посредством управления зависимостями.

Gradle был разработан для многопроектных сборок, которые могут увеличиваться до больших размеров. Он работает на основе серии задач сборки, которые могут выполняться последовательно или параллельно. Добавочные сборки поддерживаются путем определения частей дерева сборки, которые уже обновлены; любая задача, зависящая только от этих частей, не нуждается в повторном выполнении. Он также поддерживает кэширование компонентов сборки, возможно, через общую сеть с использованием Кэш сборки Gradle. Он создает веб-визуализацию сборки, называемую Сканирование сборки Gradle. Программное обеспечение расширяется для новых функций и языков программирования с помощью подсистемы плагинов.

Gradle распространяется как Открытый исходный код программное обеспечение под Лицензия Apache 2.0, и впервые был выпущен в 2007 году.

История

По состоянию на 2016 год первоначальные плагины были в основном ориентированы на Ява,[4] Groovy и Scala разработка и внедрение.

Пример Java-проекта

В этом примере структура каталогов Maven используется для источников и ресурсов Java. Эти каталоги SRC / основной / Java, SRC / основные / ресурсы, SRC / тест / Java, и SRC / тест / ресурсы.

Файл build.gradle

применить плагин: 'java'

Запуск задачи сборки (Gradle build) приводит к появлению журнала консоли:

> Gradle build: compileJava: processResources: классы:банка: собрать: compileTestJava: processTestResources: testClasses:тест:проверить:строитьСТРОИТЬ УСПЕШНО

Плагин Java эмулирует многие из ожидаемых жизненных циклов Maven как задачи в направленном ациклическом графе зависимостей для входов и выходов каждой задачи. В этом простом случае строить задача зависит от результатов проверить и собрать задачи. Так же, проверить зависит от тест, и собрать зависит от банка.

Для проектов, которые не следуют соглашениям Maven, Gradle позволяет настраивать структуру каталогов. В следующем примере будет поддерживаться проект, содержащий исходные файлы в src / java а не SRC / основной / Java соглашение, соблюдаемое Maven.

Файл build.gradle

применить плагин: 'java'sourceSets.main.java.srcDirs = [' src / java ']

Пример миграции Ant

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

Файл build.xml

<project>  <цель имя ="ant.target">    <эхо сообщение ="Запуск ant.target!"/>  </target></project>

Файл build.gradle

муравей.importBuild 'build.xml'

Запуск команды gradle ant.target приводит к

> gradle ant.target: ant.target[муравей: эхо] Запуск ant.target!СТРОИТЬ УСПЕШНО

Смотрите также

Рекомендации

  1. ^ "Распределения Gradle". Услуги Gradle.
  2. ^ "Руководство пользователя Gradle". docs.gradle.org. Получено 14 ноября 2020.
  3. ^ «Начало работы с Gradle». Петри Кайнулайнен. Получено 26 марта 2016.
  4. ^ «Начало работы · Создание проектов Java с помощью Gradle». Получено 26 марта 2016.

Библиография

внешняя ссылка