包括来自同级 gradle 模块的 FindBugs 分析所需的文件

Including files needed for FindBugs analysis from sibling gradle modules

我有一个 gradle 模块,它对同级模块具有编译时依赖性。

dependencies {
    compile project(':sibling-module')
}

在构建 运行 时,FindBugs 似乎无法找到依赖项,因此我收到以下消息:

The following classes needed for analysis were missing:
  com.example.siblingmodule.classname

我需要做什么来包含这些文件以便 FindBugs 可以评估它们?我正在使用 FindBugs 3.0.1 和 gradle 3.5.

好吧,看起来 Gradle 没有 属性 来为 FindBugs 配置类路径,但是它仍然有一个 sourceSets 属性 来指定要分析的源代码文件夹。

请查看FindBugs configuration object for Gradle了解更多详情。

我找到了答案,感谢@webdizz 为我指明了正确的方向。解决方案是将兄弟模块 output 添加到 findbugs 类路径。我在抱怨模块的 build.gradle:

中添加了以下内容
findbugsMain {
    classpath += project(':sibling-module').sourceSets.main.output
}

重要的一点是包括 main.output,而不仅仅是 main.allSource