Как уже упоминалось @cjstehno, apply pluginэто устаревший метод, который вы должны избегать.
С введением плагинов DSL у пользователей не должно быть особых причин использовать устаревший метод применения плагинов. Это задокументировано здесь в случае, если автор сборки не может использовать плагины DSL из-за ограничений того, как он работает в настоящее время.
С новым plugins blockметодом вы можете добавить плагин и контролировать, когда его применять, используя необязательный параметр apply:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Вы по-прежнему будете использовать устаревший метод в ситуациях, когда вы хотите применить уже добавленный, но не примененный плагин в своем pluginsблоке. Например, в мастер-проект плагин xyzдобавляется, но не применяется, и его следует применять только в подпроекте subPro:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Обратите внимание, что вам больше не нужна версия. Версия требуется в pluginsблоке , если вы не используете один из модулей ядра Gradle, например java, scala...
Я потратил некоторое время, чтобы понять разницу, пытаясь создать Spring Bootприложение, и поэтому я отвечаю на это снова через некоторое время. Следующий пример использования Spring Bootплагина мне очень помог:
Что в настоящее время следует использовать:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Что использовалось до Gradle 2.1:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.1.RELEASE"
}
}
apply plugin: "org.springframework.boot"