2017-05-31 53 views
1

我有一个对同级模块具有编译时间依赖性的gradle模块。包含来自兄弟模块gradle模块的FindBugs分析所需的文件

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。

回答

1

我找到了答案,并感谢@webdizz指引我朝着正确的方向前进。解决方案是将兄弟模块输出添加到findbugs类路径。我用下面除了这样做的抱怨模块的build.gradle

findbugsMain { 
    classpath += project(':sibling-module').sourceSets.main.output 
} 

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

1

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

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

+0

不幸的是,将兄弟模块添加到源代码集合findbugs {sourceSets = [sourceSets.main,sourceSets.test,project(':sibling-module').sourceSets.main]}不起作用,也没有添加兄弟模块作为testCompile依赖关系。 – BamaPookie

+0

也没有增加findbugsMain类路径:findbugsMain classpath + = project(':sibling-module')。sourceSets.main.allSource }'findbugsMain { } – BamaPookie