Findbugs在并行Gradle构建中记录太多

Chu*_*k M 6 java findbugs gradle

过去几年我们一直在处理这个问题.我正在等待Gradle 3.0被释放以查看它是否会被修复但不幸的是它没有.问题是如果您在Gradle中使用并行构建,例如使用这些命令行标志:

--parallel --max-workers=20
Run Code Online (Sandbox Code Playgroud)

然后Gradle的调试非常冗长.我们的项目相当大,Findbugs正在添加超过10,000行日志消息.有些看起来像这样:

 [:app:findbugsMain] Scanning archives (0 / 207)
 [:app:findbugsMain] Scanning archives (1 / 207)
 [:app:findbugsMain] Scanning archives (2 / 207)
 [:app:findbugsMain] Scanning archives (3 / 207)
 [:app:findbugsMain] Scanning archives (4 / 207)
 [:app:findbugsMain] Scanning archives (5 / 207)
 [:app:findbugsMain] Scanning archives (6 / 207)
 [:app:findbugsMain] Scanning archives (7 / 207)
 [:app:findbugsMain] Scanning archives (8 / 207)
 [:app:findbugsMain] Scanning archives (9 / 207)
Run Code Online (Sandbox Code Playgroud)

然后其他人看起来像这样:

[:app:findbugsMain] Pass 1: Analyzing classes (446 / 662) - 67% complete
[:app:findbugsMain] Pass 1: Analyzing classes (447 / 662) - 67% complete
[:app:findbugsMain] Pass 1: Analyzing classes (448 / 662) - 67% complete
[:app:findbugsMain] Pass 1: Analyzing classes (449 / 662) - 67% complete
[:app:findbugsMain] Pass 1: Analyzing classes (450 / 662) - 67% complete
[:app:findbugsMain] Pass 1: Analyzing classes (451 / 662) - 68% complete
[:app:findbugsMain] Pass 1: Analyzing classes (452 / 662) - 68% complete
[:app:findbugsMain] Pass 1: Analyzing classes (453 / 662) - 68% complete
[:app:findbugsMain] Pass 1: Analyzing classes (454 / 662) - 68% complete
[:app:findbugsMain] Pass 1: Analyzing classes (455 / 662) - 68% complete
Run Code Online (Sandbox Code Playgroud)

build.gradle中的Findbugs配置很简单:

// findbugs plugin settings
findbugs {
    sourceSets = [sourceSets.main]
    ignoreFailures = true
    effort = 'max'
    excludeFilter = rootProject.file("config/findbugs/findbugs-exclude.xml")
}
Run Code Online (Sandbox Code Playgroud)

几年前在Gradle论坛上对此进行了讨论.请参阅https://discuss.gradle.org/t/add-an-option-to-pass-quiet-to-findbugs-plugin/554.还有其他人看到同样的问题,但没有一个解决方案似乎有所帮助.每个人都同意它与并行构建有关,我同意,因为我在任何非并行项目中都没有看到这一点.

有没有其他人遇到这个并找到了解决方案?

Chu*_*k M 0

此问题已得到解决。Gradle 4.2 删除了所有额外的 Findbugs 日志记录,而无需在 build.gradle 中执行任何操作。