Come già accennato da @cjstehno, apply plugin
è un metodo legacy che dovresti evitare.
Con l'introduzione dei plug-in DSL, gli utenti dovrebbero avere poche ragioni per utilizzare il metodo legacy di applicazione dei plug-in. È documentato qui nel caso in cui un autore di build non possa utilizzare i plug-in DSL a causa delle restrizioni sul modo in cui funziona attualmente.
Con il nuovo plugins block
metodo, puoi aggiungere un plugin e controllare quando applicarlo usando un parametro opzionale apply
:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Utilizzeresti comunque il metodo legacy in situazioni in cui desideri applicare un plug-in già aggiunto ma non applicato nel tuo plugins
blocco. Ad esempio, nel progetto principale xyz
viene aggiunto un plug-in ma non applicato e deve essere applicato solo in un sottoprogetto subPro
:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Si noti che non è più necessaria la versione. È necessaria la versione del plugins
blocco a meno che non si sta utilizzando uno dei plugin core Gradle, come ad esempio java
, scala
...
Ho trascorso un po 'di tempo a capire la differenza mentre provavo a creare Spring Boot
un'applicazione, ed è per questo che rispondo di nuovo dopo un po'. Il seguente esempio per l'utilizzo del Spring Boot
plugin mi ha aiutato molto:
Cosa dovrebbe essere attualmente utilizzato:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Cosa era stato usato prima del Grado 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"