Wie bereits von @cjstehno erwähnt, apply plugin
ist dies eine Legacy-Methode, die Sie vermeiden sollten.
Mit der Einführung der Plugins DSL sollten Benutzer wenig Grund haben, die Legacy-Methode zum Anwenden von Plugins zu verwenden. Es wird hier dokumentiert, falls ein Build-Autor die Plugins DSL aufgrund von Einschränkungen in der aktuellen Funktionsweise nicht verwenden kann.
Mit der neuen plugins block
Methode können Sie ein Plugin hinzufügen und mithilfe eines optionalen Parameters steuern, wann es angewendet werden soll apply
:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Sie würden die Legacy-Methode weiterhin in Situationen verwenden, in denen Sie ein bereits hinzugefügtes, aber nicht angewendetes Plugin in Ihrem plugins
Block anwenden möchten . Beispielsweise wird im Masterprojekt ein Plugin xyz
hinzugefügt, aber nicht angewendet, und es sollte nur in einem Teilprojekt angewendet werden subPro
:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Beachten Sie, dass Sie die Version nicht mehr benötigen. Die Version wird in dem gewünschten plugins
Block , wenn Sie eine des Kern Gradle Plugins verwenden, wie zum Beispiel java
, scala
...
Ich habe einige Zeit damit verbracht, den Unterschied zu verstehen, während ich versucht habe, eine Spring Boot
Anwendung zu erstellen , und deshalb beantworte ich dies nach einer Weile erneut. Das folgende Beispiel für die Verwendung des Spring Boot
Plugins hat mir sehr geholfen:
Was sollte aktuell verwendet werden:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Was wurde vor Gradle 2.1 verwendet:
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"