【发布时间】:2018-01-09 03:28:46
【问题描述】:
我们正在对两点进行静态分析测试:
- 在 Git 预提交挂钩上,在这种情况下,我们使用 phpcs、phpmd、stylelint 和 eslint 引擎(普通安装 + Drupal Coder 用于添加 Drupal 标准)
- 我们每周更新一次在 SonarQube 上的项目仪表板,它运行以下质量配置文件:Drupal (PHP)、JS 和 SCSS
我们希望将我们的标准与单一标准保持一致,但使用不同的引擎会使这变得更加困难(甚至不可能?)。 我可以想到一些可能的方法来实现这一点:
- 在预提交和 SonarQube 上手动对齐规则
- 使用 SonarQube 进行我们的预提交测试
我不确定,因为通过查看 SonarQube 的 Drupal 标准,那里的规则似乎比 Drupal PHPCS 标准(来自 Drupal Coder)少得多 - relevant question I found about it
(还有另一个关于 aligning SonarQube's PHP plugin with phpCS 的相关问题) - 使用我们的引擎集为 SonarQube 创建一个自定义插件(没办法..)
在我看来,理想的解决方案是让 SonarQube 像大多数静态分析工具一样读取 Git 存储库中的规则文件(例如 phpcs.dist.xml)。
我还看到了SonarQube and stylelint Rule Mapping - 这是我找到的关于这些引擎的唯一映射。
我们怎样才能以最简单的方式解决这个问题?
【问题讨论】:
标签: drupal sonarqube eslint phpcs stylelint