Jak już wspomniano @cjstehno, apply plugin
jest to starsza metoda, której należy unikać.
Wraz z wprowadzeniem wtyczek DSL użytkownicy nie powinni mieć powodu, aby stosować starszą metodę stosowania wtyczek. Jest to udokumentowane tutaj na wypadek, gdyby autor kompilacji nie mógł użyć wtyczek DSL z powodu ograniczeń w tym, jak obecnie działa.
Dzięki nowej plugins block
metodzie możesz dodać wtyczkę i kontrolować, kiedy ją zastosować, używając opcjonalnego parametru apply
:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Nadal używałbyś starszej metody w sytuacjach, w których chcesz zastosować już dodaną, ale nie zastosowaną wtyczkę w swoim plugins
bloku. Np. W projekcie głównym wtyczka xyz
jest dodawana, ale nie stosowana, i powinna być stosowana tylko w podprojekcie subPro
:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Zauważ, że nie potrzebujesz już wersji. Wersja jest wymagane w plugins
bloku chyba że używasz jednej z wtyczek Rdzeń Gradle, takich jak java
, scala
...
Spędziłem trochę czasu na zrozumieniu różnicy, próbując utworzyć Spring Boot
aplikację, i dlatego po chwili odpowiadam na to ponownie. Poniższy przykład użycia Spring Boot
wtyczki bardzo mi pomógł:
Czego należy obecnie używać:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Co było używane przed 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"