Seperti yang telah disebutkan oleh @cjstehno, apply pluginini adalah metode warisan yang harus Anda hindari.
Dengan diperkenalkannya DSL plugins, pengguna harus memiliki sedikit alasan untuk menggunakan metode lama menerapkan plugin. Itu didokumentasikan di sini dalam kasus pembuat build tidak dapat menggunakan plugins DSL karena pembatasan dalam cara kerjanya.
Dengan plugins blockmetode baru , Anda dapat menambahkan plugin dan mengontrol kapan menerapkannya menggunakan parameter opsional apply:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Anda masih akan menggunakan metode lawas dalam situasi di mana Anda ingin menerapkan plugin yang sudah ditambahkan tetapi tidak diterapkan di pluginsblok Anda . Misalnya, dalam proyek master, sebuah plugin xyzditambahkan tetapi tidak diterapkan dan itu harus diterapkan hanya dalam sub proyek subPro:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Perhatikan bahwa Anda tidak membutuhkan versi itu lagi. Versi ini diperlukan di pluginsblok kecuali Anda menggunakan salah satu plugin Core Gradle, seperti java,scala ...
Saya menghabiskan waktu memahami perbedaan ketika mencoba membuat Spring Bootaplikasi, dan itulah sebabnya saya menjawab ini lagi setelah beberapa saat. Contoh berikut untuk menggunakan Spring Bootplugin membantu saya:
Apa yang saat ini harus digunakan:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Apa yang telah digunakan sebelum 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"