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