Глава 28. Стандартные плагины Gradle.

В дистрибутив Gradle включено несколько плагинов. Они перечислены ниже.

28.1. Языковые плагины.

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

Таблица 28.1. Языковые плагины
Идентификатор плагинаАвтоматически применяетРаботает сОписание
javajava-base-Добавляет компиляцию Java, тестирование и возможности упаковки к проекту. Он служит основой для многих других плагинов Gradle. Также смотрите Главу 46 Быстрый старт Java.
groovyjava, groovy-base-Добавляет поддержку сборки проектов Groovy. Также смотрите Главу 55 Быстрый старт Groovy.
scalajava, scala-base-Добавляет поддержку сборки проектов Scala
antlrjava-Добавляет поддержку генерации парсеров с использованием Antlr.

28.2. Инкубационные языковые плагины.

Эти плагины добавляют поддержку различных языков:

Таблица 28.2. Инкубационные языковые плагины
Идентификатор плагинаАвтоматически применяетРаботает сОписание
assembler--Добавляет возможности нативного ассемблерного языка к проекту.
c--Добавляет к проекту возможности компиляции исходных кодов C.
cpp--Добавляет к проекту возможности компиляции исходных кодов C++.
objective-c--Добавляет к проекту возможности компиляции исходных кодов Objective-C.
objective-cpp--Добавляет к проекту возможности компиляции исходных кодов Objective-C++.
windows-resources--Добавляет поддержку включения ресурсов Windows в нативные бинарные файлы.

28.3. Плагины интеграции.

Эти плагины предоставляют немного интеграции с различными технологиями времени выполнения.

Таблица 28.3. Плагины интеграции
Идентификатор плагинаАвтоматически применяетРаботает сОписание
applicationjava, distribution-Добавляет задачи для запуска и упаковки Java-проекта в приложение командной строки.
ear-javaДобавляет поддержку сборки приложений J2EE.
jettywar-Развертывает ваше веб-приложение в веб-контейнер Jetty встроенный в сборку. Также смотрите Главу 49 Веб-приложения - быстрый старт. Этот плагин устарел и будет удален в Gradle 4.0. Вместо него, рассмотрите использование более богатого возможностями плагина Gretty.
maven-java, warДобавляет поддержку публикации артефактов в хранилища Maven.
osgijava-basejavaДобавляет поддержку сборки пакетов OSGi.
warjava-Добавляет поддержку компоновки WAR-файлов веб-приложений. Также смотрите Главу 49 Веб-приложения - быстрый старт.

28.4. Икубационные плагины интеграции.

Эти плагины предоставляют немного интеграции с различными технологиями времени выполнения.

Таблица 28.4. Икубационные плагины интеграции
Идентификатор плагинаАвтоматически применяетРаботает сОписание
distribution--Добавляет поддержку сборки дистрибутивов ZIP и TAR.
java-library-distributionjava, distribution-Добавляет поддержку сборки дистрибутивов ZIP и TAR для библиотеки Java.
ivy-publish-java, warЭтот плагин предоставляет новый DSL, которы улучшает существующий, для поддержки публикации артефактов в хранилища Ivy.
maven-publish-java, warЭтот плагин предоставляет новый DSL, которы улучшает существующий, для поддержки публикации артефактов в хранилища Maven.

28.5. Плагины разработки ПО.

Эти плагины помогают вам в процессе разработки ПО.

Таблица 28.5. Плагины разработки ПО
Идентификатор плагинаАвтоматически применяетРаботает сОписание
announce--Публикует сообщения на вашей любимой платформе, такой как Twitter или Growl.
build-announcementsannounce-Отправляет локальные объявления на ваш рабочий стол об интересных событиях в жизненном цикле сборки.
checkstylejava-base-Выполняет проверки качества исходных кодов Java вашего проекта с использованием Checkstyle и генерирует отчеты по итогам этих проверок.
codenarcgroovy-base-Выполняет проверки качества исходных кодов Groovy вашего проекта с использованием CodeNarc и генерирует отчеты по итогам этих проверок.
eclipse-java,groovy, scalaГенерирует файлы, которые используются Eclipse IDE, делая, таким образом, возможным импортировать проект в Eclipse. Также смотрите Главу 46 Быстрый старт Java.
eclipse-wtp-ear, warДелает то же самое, что и плагин eclipse, плюс генерирует конфигурационные файлы WTP (Web Tools Platform). После импорта в eclipse, ваши проекты war/ear должны быть настроены для работы с WTP. Также смотрите Главу 46 Быстрый старт Java.
findbugsjava-base-Выполняет проверки качества исходных кодов Java вашего проекта с использованием FindBugs и генерирует отчеты по итогам этих проверок.
idea-javaГенерирует файлы, которые используются Intellij IDEA IDE, делая, таким образом, возможным импортировать проект в IDEA.
jdependjava-base-Выполняет проверки качества исходных кодов вашего проекта с использованием JDepend и генерирует отчеты по итогам этих проверок.
pmdjava-base-Выполняет проверки качества исходных кодов Java вашего проекта с использованием PMD и генерирует отчеты по итогам этих проверок.
project-reportreporting-base-Генерирует отчеты, содержащие полезную информацию о вашей сборке Gradle.
signingbase-Добавляет возможность цифровой подписи собранных файлов и артефактов.

28.6. Икубационные плагины разработки ПО.

Эти плагины помогают вам в процессе разработки ПО.

Таблица 28.6. Икубационные плагины разработки ПО
Идентификатор плагинаАвтоматически применяетРаботает сОписание
build-dashboardreporting-base-Генерирует отчет панели индикаторов сборки
build-initwrapper-Добавляет поддержку инициализации новой сборки Gradle. Обрабатывает преобразование сборки Maven в Gradle.
cunit--Добавляет поддержку запуска тестов CUnit.
jacocoreporting-basejavaПредоставляет интеграцию с библиотекой покрытия кода JaCoCo для Java.
visual-studio-плагинами нативных языковДобавляет интеграцию с Visual Studio.
wrapper--Добавляет задачу Wrapper для генерации файлов обертки Gradle.
java-gradle-pluginjavaПоддерживает разработку плагинов Gradle, предоставляя стандартную конфигурацию сборки и валидации плагина.

28.7. Базовые плагины.

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

Таблица 28.7. Базовые плагины
Идентификатор плагинаОписание
base

Добавляет стандартные задачи жизненного цикла и настраивает приемлимые умолчания для задач архивирования:

  • Добавляет задачи сборки ConfigurationName. Эти задачи собирают артефакты принадлежащие указанной конфигурации.
  • Добавляет задачи выгрузки ConfigurationName. Эти задачи собирают артефакты и выгружают принадлежащие указанной конфигурации.
  • Настраивает приемлимые значения по умолчанию для всех задач архивирования (например, задач, которые наследуются от AbstractArchiveTask). Например, к задачам архивирования относятся задачи с типами: Jar, Tar, Zip. В частности, свойствам destinationDir, baseName и version задач архивирования предустанавливаются умолчения. Это чрезвычайно полезно, потому что ведет в связности проектов; связности в отношении наименования архивов и их расположения после завершения сборки.
java-baseДобавляет концепт наборов исходных кодов, но не добавляет никаких наборов.
groovy-baseДобавляет концепт наборов исходных кодов Groovy к проекту.
scala-baseДобавляет концепт наборов исходных кодов Scala к проекту.
reporting-baseДобавляет несколько общих условных свойств к проекту, связанных с генерацией отчетов.

28.8. Сторонние плагины.

Вы можете найти список внешних плагинов на сайте плагинов Gradle.