Como já mencionado por @cjstehno, o apply plugin
é um método legado que você deve evitar.
Com a introdução do DSL de plug-ins, os usuários devem ter poucos motivos para usar o método herdado de aplicar plug-ins. Ele está documentado aqui, caso um autor de construção não possa usar os plug-ins DSL devido a restrições de como ele funciona atualmente.
Com o novo plugins block
método, você pode adicionar um plug-in e controlar quando aplicá-lo usando um parâmetro opcional apply
:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Você ainda usaria o método legado em situações nas quais deseja aplicar um plug-in já adicionado, mas não aplicado, em seu plugins
bloco. Por exemplo, no projeto mestre, um plug xyz
- in é adicionado, mas não aplicado, e deve ser aplicado apenas em um subprojeto subPro
:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Observe que você não precisa mais da versão. A versão é necessária no plugins
bloco, a menos que você está usando um dos plugins Núcleo Gradle, tais como java
, scala
...
Passei algum tempo entendendo a diferença enquanto tentava criar um Spring Boot
aplicativo, e é por isso que respondo novamente depois de um tempo. O exemplo a seguir para usar o Spring Boot
plug-in me ajudou muito:
O que deve ser usado atualmente:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
O que havia sido usado antes do 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"