Java 代码质量趋势和统计数据(LOC、方法等)趋势

标签 java sonarqube cruisecontrol emma

我最近将 Junit 和 Emma 集成到 CruiseControl (CC) 中,因此它可以为每个构建创建漂亮的报告。我想根据 Emma 提供的一些信息(例如覆盖率百分比数字和摘要)查看一些趋势图:

OVERALL STATS SUMMARY  
total packages: 54  
total executable files: 1001  
total classes:  1133  
total methods:  11814  
total executable lines: 112428  

理想情况下,我们可以有一个页面,其中包含(谷歌图表?)每个构建都会更新的图表。我在谷歌上搜索了一下,看起来有一个 jenkins 插件可以做到这一点,但我没有看到任何与 CC 类似的东西。我也计划在 CC 中启动和运行 Sonar,所以也许 Sonar 可以这样做?

我当然可以编写自己的代码来创建趋势图(解析 emma 输出并创建一页图表似乎并不难),但我不想重新发明轮子。

啊 - 刚刚在 Can my build stipulate that my code coverage never get worse? 中发现“另一种方法是使用 Hudson 的 Sonar 插件来保持随时间推移的覆盖趋势” 我可以安装 Hudson 并使用它来代替 CC,但如果不需要,我宁愿不用。

所以 - 我的问题 - 在我的 Java 代码(希望在 CruiseControl 中)获取趋势覆盖率/统计数据的最简单方法是什么?

最佳答案

使用 Sonar Hudson/Jenkins 插件绝对不是运行 Sonar 分析所必需的。您可以从任何工具(命令行、CI 工具如 CC 等)调用 Sonar。

您只需要向 Sonar 提供一些信息,如果您使用的是 Maven,则可以在 POM 中;如果您使用的是 Ant,则可以在 build.xml 文件中;如果使用 Ant,则可以在“sonar-project.properties”文件中您计划使用简单的 Sonar Runner,或者如果您将使用 Jenkins/Hudson,则仅通过传递属性。

查看 our documentation关于调用 Sonar 以了解更多信息的不同方法。

关于Java 代码质量趋势和统计数据(LOC、方法等)趋势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12695408/

相关文章:

java - 整数类型未按预期工作(Java)

java - Sonar 提示记录并重新抛出异常

cruisecontrol - 悬挂巡航控制

java - 如何在我的马棋子去过的每个位置放置一个数字(在 2D "board"数组中)

java - slf4j-log4j 在传递给异步记录器之前将对象转换为字符串

java - 使用 Jenkins 构建和 maven 项目进行 Sonar 分析时,无法通过 ClassLoader 警告访问类 'XXX/XXX/XXX '

java - 无法找到对此进行冗余空检查的原因,该检查已知为非空

linux - 无法让修改集在 Linux 上的 CruiseControl 中工作

java - 如何终止(或杀死)Java 中的 Hadoop 作业?