如何解决Gradle and Plugin shenanigans,用于多模块构建
所以我有一个多模块项目,该项目使用gradle构建了很多东西,包括一些AWS Lambda,一个Java(Spring Boot)微服务和一个ReactJS Webapp。
为此,我想生成一些Jacoco代码覆盖率报告以保持最新状态。所以目前我有这个:
subprojects {
apply plugin: 'jacoco'
plugins.withType(JavaPlugin) {
jacoco {
toolVersion = "0.8.5"
}
}
}
哪个“有效”。但是,如果我将其更改为:
subprojects {
plugins.withType(JavaPlugin) {
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.5"
}
}
}
Gradle在尝试构建第一个Java项目时失败 hard 。我的意思是我并不介意,您必须将jacoco插件应用于其中没有任何Java代码的子项目,这真的很奇怪。有人吗?
解决方法
请参见文档https://docs.gradle.org/current/userguide/plugins.html中的示例3(仅在某些子项目上应用插件)
即在您的情况下:
plugins {
id 'jacoco' version '1.0.0' apply false
}
subprojects {
if (name.startsWith('myjacostuff')) {
apply plugin: 'jacoco'
}
plugins.withType(JavaPlugin) {
jacoco {
toolVersion = "0.8.5"
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。