2

我正在使用 Sonar eclipse 插件版本 3.1.1.20130521-1304-RELEASE。

当我从插件运行本地分析时,控制台看起来像

信息:声纳服务器 3.5.1
17:15:41.103 信息 - 加载批处理设置
17:15:41.617 信息 - 用户缓存:
17:15:41.630 信息 - 安装插件
17:15:41.854 信息 - 排除插件:devcockpit、pdfreport、views、report、scmactivity
17:15:47.571 INFO - ------------- 执行项目扫描
17:15:49.494 信息 - 应用项目排除项
17:15:49.494 信息 - 试运行
17:15:53.028 信息 - 创建 JDBC 数据源
17:15:54.094 信息 - 初始化休眠
17:15:59.013 INFO - ------------- 检查 DPortal
17:15:59.045 信息 - 加载模块设置
17:16:00.721 信息 - 质量概况:[name=,language=java]
17:16:00.819 信息 - 排除测试:
17:16:00.820 信息 - **/package-info.java
17:16:00.911 信息 - 配置 Maven 插件
17:16:01.077 信息 - 与之前的分析比较 (2013-06-03)
17:16:01.135 信息 - 比较 5 天(2013-05-29,2013-06-03 04:32:51.903 分析)
17:16:01.168 信息 - 比较 30 天(2013-05-04,2013-06-03 04:32:51.903 分析)
17:16:02.333 信息 - 基本目录:
17:16:02.333 信息 - 工作目录:
17:16:02.333 信息 - 源目录:
17:16:02.334 信息 - 测试目录:
17:16:02.338 信息 - 二进制目录:
17:16:02.338 信息 - 源编码:windows-1252,默认语言环境:en_US
17:19:58.735 警告 - SCM URL 不能为空。SCM Stats Plugin 将无法运行。请检查参数 SCM URL 或 Maven pom 的 <scm> 部分。

我不确定为什么它会在那条线上等待 3 分钟。

此外,如果我可以对特定的 src 目录(它们是 maven POM 的子模块)而不是整个项目进行本地分析,那就太好了。我已经有办法做到这一点了吗?

更新: 我只对违规感兴趣。我可以强制本地分析跳过其他插件吗?

更新 2: 我尝试在 eclipse 工作区设置中设置 @fabrice 提到的本地分析属性。

工作区局部分析属性

但它似乎只从下面的 Sonar 控制台日志中获取了一些属性。其他像 sonar.importSources 它只是忽略?
此外,它似乎不尊重项目特定属性 sonar.includeModules 设置为单个模块。它仍然使用所有 src 目录。

信息:声纳服务器 3.5.1
13:16:35.022 信息 - 加载批处理设置
13:16:35.413 信息 - 用户缓存:
13:16:35.421 信息 - 安装插件
13:16:35.653 信息 - 排除插件:devcockpit、pdfreport、views、report、buildstability、scmactivity、buildbreaker
13:17:50.854 INFO - ------------- 执行项目扫描
13:17:51.908 信息 - 应用项目排除项
13:17:51.924 信息 - 试运行
13:17:54.506 信息 - 为 jdbc:h2 创建 JDBC 数据源:
13:17:55.342 信息 - 初始化休眠
13:17:59.932 INFO - ------------- 检查 DPortal
13:17:59.938 信息 - 加载模块设置
13:18:03.169 信息 - 质量配置文件:[name=Dportal 警报阈值,语言=java]
13:18:03.173 信息 - 排除测试:
13:18:03.174 信息 - **/package-info.java
13:18:03.251 信息 - 配置 Maven 插件
13:18:03.397 信息 - 与之前的分析比较 (2013-06-04)
13:18:03.447 INFO - 5 天内比较(2013-05-31,2013-06-04 12:57:34.79 分析)
13:18:03.498 INFO - 30 天的比较(2013-05-06,2013-06-04 12:57:34.79 分析)
13:18:07.592 信息 - 基本目录:
13:18:07.592 信息 - 工作目录:
13:18:07.593 信息 - 源目录:
13:18:07.595 信息 - 测试目录:
13:18:07.601 信息 - 二进制目录:
13:18:07.602 信息 - 源编码:UTF-8,默认语言环境:en_US
13:22:13.356 信息 - 传感器 JavaSourceImporter...
13:23:35.056 信息-传感器 JavaSourceImporter 完成:81700 毫秒
13:23:35.057 信息 - 传感器 JavaSquidSensor...
13:24:53.888 信息-Java AST 扫描...
13:28:08.900 信息 - Java AST 扫描完成:195012 毫秒
13:28:10.152 信息-传感器 JavaSquidSensor 完成:275095 毫秒
13:28:10.152 信息 - 传感器 FindbugsSensor...
13:28:10.152 信息 - 执行 Findbugs 2.0.1 ...
13:28:42.363 INFO - Findbugs 输出报告:
4

2 回答 2

2

Eclipse Sonar插件新版本为:3.2.0.20130627-1142-RELEASE

我们有一个类似的问题。默认列表没有涵盖足够的内容。这是我们使用的值(它禁用所有 SCM 插件):

  • 名称:sonar.dryRun.excluded
  • 值:devcockpit,jira,pdfreport,views,report,scmactivity,scmstats

笔记:

  1. 这只是在末尾添加了“scmstats”的默认列表。
  2. 该列表不能在逗号和插件名称之间包含任何额外的空格。
  3. 我不确定在哪里可以找到所有插件名称,但我想声纳管理员可以确定插件名称。

如果控制台输出或声纳设置屏幕为普通用户报告声纳插件名称会很好,因为我们是运行本地分析的人......

于 2013-10-17T22:58:17.877 回答
1
  1. 看起来您在使用 SCM Stats 插件时遇到了问题。删除它,这应该可以完美地工作。(在服务器端看起来一切正常,但这并不意味着插件将在批处理端执行而不会出现任何错误)

  2. 如果您只想在某些子模块上运行分析,那么您应该使用“sonar.skippedModules”属性。请参阅http://docs.codehaus.org/display/SONAR/Analysis+Parameters

  3. 要在 dryRun 分析中包含/排除插件,您可以使用以下属性(以逗号分隔的插件键列表):

    • sonar.dryRun.include 插件
    • sonar.dryRun.excludePlugins
于 2013-06-03T14:37:47.583 回答