Như đã được đề cập bởi @cjstehno, đây apply plugin
là một phương pháp kế thừa mà bạn nên tránh.
Với việc giới thiệu các plugin DSL, người dùng sẽ có ít lý do để sử dụng phương pháp kế thừa áp dụng các plugin. Nó được ghi lại ở đây trong trường hợp tác giả bản dựng không thể sử dụng các plugin DSL do những hạn chế trong cách thức hoạt động của nó.
Với plugins block
phương pháp mới , bạn có thể thêm plugin và kiểm soát thời điểm áp dụng nó bằng tham số tùy chọn apply
:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
Bạn vẫn sẽ sử dụng phương pháp cũ trong các tình huống bạn muốn áp dụng một plugin đã được thêm nhưng chưa được áp dụng trong plugins
khối của mình . Ví dụ, trong dự án chính, một plugin xyz
được thêm nhưng không được áp dụng và nó chỉ được áp dụng trong một tiểu dự án subPro
:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
Lưu ý rằng bạn không cần phiên bản nữa. Các phiên bản được yêu cầu trong plugins
khối, trừ khi bạn đang sử dụng một trong những plugin lõi Gradle, chẳng hạn như java
, scala
, ...
Tôi đã dành một chút thời gian để hiểu sự khác biệt trong khi cố gắng tạo một Spring Boot
ứng dụng và đó là lý do tại sao tôi sẽ trả lời lại điều này sau một thời gian. Ví dụ sau để sử dụng Spring Boot
plugin đã giúp tôi rất nhiều:
Những gì hiện nên được sử dụng:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
Những gì đã được sử dụng trước Lớp 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"