java - JacocoReport 配置的 Gradle 6.0 弃用警告
问题描述
以下 Gradle 任务配置JacocoReportBase:
task jacocoRootReport(type: JacocoReport) {
...
sourceDirectories = files(subprojects.sourceSets.main.allSource.srcDirs)
additionalSourceDirs = files(subprojects.sourceSets.main.allSource.srcDirs)
classDirectories = files(subprojects.sourceSets.main.output)
executionData = files(subprojects.jacocoTestReport.executionData)
...
}
在构建时会产生这些警告./gradlew assembleDebug --warning-mode all
:
The JacocoReportBase.setSourceDirectories(FileCollection) method has been deprecated.
This is scheduled to be removed in Gradle 6.0. Use getSourceDirectories().from(...)
at tasks_1p10s36ydq4k8rroeiucekewi$_run_closure6.doCall(.../tasks.gradle:152)
The JacocoReportBase.setAdditionalSourceDirs(FileCollection) method has been deprecated.
This is scheduled to be removed in Gradle 6.0. Use getAdditionalSourceDirs().from(...)
at tasks_1p10s36ydq4k8rroeiucekewi$_run_closure6.doCall(.../tasks.gradle:151)
The JacocoReportBase.setClassDirectories(FileCollection) method has been deprecated.
This is scheduled to be removed in Gradle 6.0. Use getClassDirectories().from(...)
at tasks_1p10s36ydq4k8rroeiucekewi$_run_closure6.doCall(.../tasks.gradle:153)
The JacocoReportBase.setExecutionData(FileCollection) method has been deprecated.
This is scheduled to be removed in Gradle 6.0. Use getExecutionData().from(...)
at tasks_1p10s36ydq4k8rroeiucekewi$_run_closure6.doCall(.../tasks.gradle:154)
如何使用 Gradle 6.0 兼容语法(如弃用警告所建议的那样)通过这些方法应用所需的值(以某种方式在括号中传递参数不起作用):
getAdditionalSourceDirs().from(...)
getSourceDirectories().from(...)
getClassDirectories().from(...)
getExecutionData().from(...)
?
解决方案
Setter.from
可以这样使用:
task jacocoRootReport(type: JacocoReport) {
...
sourceDirectories.from = subprojects.sourceSets.main.allSource.srcDirs
additionalSourceDirs.from = subprojects.sourceSets.main.allSource.srcDirs
classDirectories.from = subprojects.sourceSets.main.output
executionData.from = subprojects.jacocoTestReport.executionData
...
}
推荐阅读
- sql - 数据模型 - PRIMARY KEY 编号问题
- jwplayer - JWPlayer 与 VideoJS | 500 Mbps = 1k 用户 vs 300 用户
- python - 如何按值解析csv表并将其从python中的2行表转换为4行表?
- ios - Xamarin IO,要传递给 textStyle 参数的 UIFontMetrics.GetMetrics 方法的字符串值是什么?
- domain-driven-design - 我的集成测试是否应该重用持久性库来访问数据库?
- sharepoint - 隐藏 Sharepoint 2013 Web 部件,直到单击链接的图像
- codeigniter - Codeignaiter 2.2.0 严重性:注意 --> 试图获取非对象的属性
- amazon-s3 - 处理 AWS ELB 访问日志(从 S3 存储桶到 InfluxDB)
- web - 带有编辑器和预览的网站
- javascript - 添加 n 个数组的值