FindBugs 在将 Android Gradle 插件从 3.1.3 升级到 3.2.0 后停止工作



我在Android项目中使用FindBugs进行静态代码分析。设置如下:

质量.gradle

plugins.apply('findbugs')
task findbugs(type: FindBugs) {
ignoreFailures = false
effort = 'max'
reportLevel = 'high' // Report only high priority problems.
classes = files("${project.projectDir}/build/intermediates/classes")
source = fileTree('src/main/java')
classpath = files()
reports {
xml.enabled = true
html.enabled = false
}
excludeFilter = rootProject.file('quality/findbugs.xml')
} 

build.gradle

subprojects {
afterEvaluate {
project.apply from: '../quality/quality.gradle'
tasks.findByName('findbugs').dependsOn('assemble')
tasks.findByName('check').dependsOn('findbugs')
}
}

但是在我将 Gradle Android 插件从 3.1.3 升级到 3.2.0 后,构建开始失败:

./gradlew clean build
> Task :app:findbugs FAILED
No files to be analyzed
...
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:findbugs'.
> Failed to run Gradle FindBugs Worker
> Process 'Gradle FindBugs Worker 6' finished with non-zero exit value 1

降级到 3.1.3 会使构建再次通过。我在 Gradle Android 插件的更改日志中没有找到任何相关内容。任何人都可以指出插件或我的设置有什么问题吗?

经过短暂的调查,我发现Java类文件的位置已经从build/intermediates/classes变为build/intermediates/javac。新的 FindBugs 配置:

task findbugs(type: FindBugs) {
...
classes = files("${project.projectDir}/build/intermediates/javac")
...
} 

奇怪的是,这个重大更改在Android Gradle插件更改日志或Gradle更改日志中没有提及。

最新更新