【发布时间】:2012-01-04 06:33:43
【问题描述】:
我有一个使用声纳分析的 JAVA 项目。我拥有的一些 java 包都在源文件夹下。我还有一些测试文件位于不同的文件夹下。现在,在 Sonar 中,我以不同的结构组织我的项目,即对于项目“搜索”,我只想包含“搜索”包。使用 sonar.exclusion 属性很容易完成这些排除。不过,我的问题是,考试怎么样?我怎样才能排除一些包?因为从我的测试来看,即使我的源和测试文件夹使用相同的结构,当我指定“sonar.exclusions”时,测试包也不会自动排除。
我的文件夹结构:
/src/com/domain/
-- search/
-- utils/
-- pooling/
-- category/
/test/src/com/domain/
-- utils/
-- pooling/
声纳特性:
<property name="sonar.sources" value="${path}/src" />
<property name="sonar.tests" value="${path}/test/src" />
<property name="sonar.exclusions" value="com/domain/utils/**/*,com/domain/pooling/**/*,com/domain/category/**/*" />
所以,我试图只包含“搜索”包。上面的代码以某种方式工作,它导致 SONAR 只分析我的“搜索”包。这个包可以在 SONAR“组件”选项卡中看到。不幸的是,除了“search”组件,我还可以看到“util”和“pooling”组件。我已经做了一些测试,并确定这两个组件(utils 和 pooling)是“sonar.tests”属性的结果。不过请注意,即使“util”和“pooling”出现在组件中,SONAR 在它们下都显示零文件。所以回到我的问题,无论如何我可以做些什么来排除“util”和“pooling”出现在“组件”下?也许使用属性(即声纳测试排除)?
顺便说一句,我使用的是 SONAR 2.11,并且在 Red Hat linux 下运行。我正在使用 SONAR-TASK 1.2。
欢迎和感谢任何帮助!谢谢!
【问题讨论】:
标签: ant continuous-integration sonarqube