Ich verstehe Gradle Plugins Block nicht
apply plugin: 'someplugin1'
apply plugin: 'maven'
und andere:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
Im ersten Block haben wir einen Plugin-Namen. im zweiten Paket und Version. Ich verstehe nicht, wo ich den ersten Block verwenden soll und wann der zweite.
groovy
gradle
gradle-plugin
Jewgen Kulik
quelle
quelle
Antworten:
Der
plugins
Block ist die neuere Methode zum Anwenden von Plugins und muss im Gradle-Plugin-Repository verfügbar sein . Derapply
Ansatz ist die ältere und dennoch flexiblere Methode zum Hinzufügen eines Plugins zu Ihrem Build.Die neue
plugins
Methode funktioniert nicht in Konfigurationen mit mehreren Projekten (subprojects
,allprojects
), sondern in der Build-Konfiguration für jedes untergeordnete Projekt.Ich würde denken, dass mit fortschreitender Funktionalität die
plugins
Konfigurationsmethode den älteren Ansatz überholen wird, aber an diesem Punkt können und werden beide gleichzeitig verwendet.quelle
plugins {...}
) nicht für Ihre privaten Plugins oder Firmen-Plugins funktioniert, die nicht im offiziellen Gradle-Plugin-Repo veröffentlicht sind. Deshalb hoffe ich, dass der alte Ansatz zumindest so lange überlebt, bis der neue die Suche in privaten Repositories unterstützt.plugins
funktioniert in mehreren Projekten gemäß Gradle-Tutorial (Gradle-Version 5.6.2) guide.gradle.org/creating-multi-project-builds/… Es verwendetplugins
Block mitapply false
, um das Plugin zum Gesamtprojekt hinzuzufügen, fügt es jedoch nicht hinzu es zum Stammprojekt. Das Teilprojekt verwendetplugins
erneut Blöcke, um das Plugin hinzuzufügen.plugins
over zu verwendenapply plugin
.apply plugin
Wie bereits von @cjstehno erwähnt,
apply plugin
ist dies eine Legacy-Methode, die Sie vermeiden sollten.Mit der neuen
plugins block
Methode können Sie ein Plugin hinzufügen und mithilfe eines optionalen Parameters steuern, wann es angewendet werden sollapply
: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 Pluginxyz
hinzugefügt, aber nicht angewendet, und es sollte nur in einem Teilprojekt angewendet werdensubPro
: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 Beispieljava
,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 desSpring Boot
Plugins hat mir sehr geholfen:Was sollte aktuell verwendet werden:
Was wurde vor Gradle 2.1 verwendet:
quelle
apply plugin xxx
zuplugins { id xxx }
(ich habe es versucht und es hat nicht funktioniert)