Tôi muốn tạo một plugin tự động áp dụng khác (các plugin bên ngoài). Điều này đòi hỏi phải thiết lập phụ thuộc buildscript cho plugin trước khi tôi gọi "áp dụng plugin". Tuy nhiên có vẻ như tôi không thể thêm phụ thuộc buildscript vào plugin hoặc tôi nhận được: Bạn không thể thay đổi cấu hình không ở trạng thái chưa được giải quyết!Tạo một plugin Gradle với sự phụ thuộc vào một plugin (bên ngoài) khác
Có giải pháp cho vấn đề này không?
mẫu của tôi (không làm việc) mã:
import org.gradle.api.Project
import org.gradle.api.Plugin
class SamplePlugin implements Plugin<Project>{
void apply(Project project) {
project.buildscript.dependencies.add("classpath","net.sourceforge.cobertura:cobertura:1.9.4.1");
project.configure(project){
apply plugin: 'cobertura'
}
}
}
Trong trường hợp bất kỳ ai quan tâm đến cách thực hiện điều này một cách chính xác: bạn phải mở rộng POM mặc định trong MavenPublication của bạn. Plugin Nebula của Netflix là một nguồn tuyệt vời cho các ví dụ: https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src%2Fmain%2Fgroovy%2Fnebula%2Fplugin%2Fpublishing%2Fmaven%2FMavenJavaPublishingPlugin.groovy – Matthias
Liên kết mới nhất tới Tinh vân xuất bản Plugin, trong trường hợp ai đó truy cập trang này. https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src/main/groovy/nebula/plugin/publishing/maven/MavenPublishPlugin.groovy – dmahapatro