Я не понимаю блок плагинов Gradle
apply plugin: 'someplugin1'
apply plugin: 'maven'
и другой:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
В первом блоке у нас есть название плагина. во второй пакет и версия. Я не понимаю, где я должен использовать первый блок, а когда второй.
groovy
gradle
gradle-plugin
Евгений Кулик
источник
источник
Ответы:
plugins
Блок является новым методом применения плагин, и они должны быть доступны в Gradle хранилища плагин .apply
Подход является старшим, но более гибкий метод добавления плагина к вашей сборке.Новый
plugins
метод не работает в многопроектных конфигурациях (subprojects
,allprojects
), но будет работать над конфигурацией сборки для каждого дочернего проекта.Я бы подумал, что по мере развития функциональности
plugins
метод конфигурации обгонит старый подход, но на этом этапе оба могут использоваться и используются одновременно.источник
plugins {...}
) не работает для ваших личных плагинов или плагинов компании, которые не опубликованы в официальном репозитории плагинов Gradle. Вот почему я надеюсь, что старый подход, по крайней мере, выживет, пока новый не поддержит поиск в частных репозиториях.plugins
работает в мультипроекте, в соответствии с руководством Gradle (Gradle версия 5.6.2) guides.gradle.org/creating-multi-project-builds/… Он используетplugins
blockapply false
для добавления плагина в общий проект, но не добавляет это к корневому проекту. Подпроектplugins
снова использует блоки для добавления плагина.plugins
болееapply plugin
.apply plugin
Как уже упоминалось @cjstehno,
apply plugin
это устаревший метод, который вы должны избегать.С новым
plugins block
методом вы можете добавить плагин и контролировать, когда его применять, используя необязательный параметрapply
:Вы по-прежнему будете использовать устаревший метод в ситуациях, когда вы хотите применить уже добавленный, но не примененный плагин в своем
plugins
блоке. Например, в мастер-проект плагинxyz
добавляется, но не применяется, и его следует применять только в подпроектеsubPro
:Обратите внимание, что вам больше не нужна версия. Версия требуется в
plugins
блоке , если вы не используете один из модулей ядра Gradle, напримерjava
,scala
...Я потратил некоторое время, чтобы понять разницу, пытаясь создать
Spring Boot
приложение, и поэтому я отвечаю на это снова через некоторое время. Следующий пример использованияSpring Boot
плагина мне очень помог:Что в настоящее время следует использовать:
Что использовалось до Gradle 2.1:
источник
apply plugin xxx
вplugins { id xxx }
(я попробовал это , и это не работа)