Como ya mencionó @cjstehno, este apply plugines un método heredado que debe evitar.
Con la introducción de los complementos DSL, los usuarios deberían tener pocas razones para usar el método heredado de aplicar complementos. Se documenta aquí en caso de que un autor de compilación no pueda usar los complementos DSL debido a restricciones en cómo funciona actualmente.
Con el nuevo plugins blockmétodo, puede agregar un complemento y controlar cuándo aplicarlo utilizando un parámetro opcional apply:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Todavía usaría el método heredado en situaciones en las que desea aplicar un complemento ya agregado pero no aplicado en su pluginsbloque. Por ejemplo, en el proyecto maestro xyzse agrega un complemento pero no se aplica, y debe aplicarse solo en un subproyecto subPro:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Tenga en cuenta que ya no necesita la versión. La versión se requiere en el pluginsbloque a menos que utilice uno de los complementos del núcleo Gradle, tales como java, scala, ...
Pasé un tiempo entendiendo la diferencia al intentar crear una Spring Bootaplicación, y es por eso que estoy respondiendo esto nuevamente después de un tiempo. El siguiente ejemplo para usar el Spring Bootcomplemento me ayudó mucho:
Lo que debería usarse actualmente:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Lo que se había usado antes de 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"