如何将声纳问题显示为编译时错误?

时间:2016-12-19 13:50:18

标签: java eclipse sonarqube sonarqube-scan

我正在使用eclipse并使用SonarLint插件( SonarQube插件已弃用eclipse Neon )进行代码分析。 我能够连接到Sonar qube服务器并将项目绑定到它,声纳问题显示在SonarLint控制台中。

  

我希望将这些问题显示为编译时错误,以便在不修复该问题的情况下阻止开发人员继续进行。

声纳问题应该作为编译时错误工作,除非修复,否则不允许执行代码。

我的Eclipse屏幕截图包含代码

enter image description here

如果你看到上面的

  

“将此调用移至”退出“或确保确实需要”   是一个错误,但在代码中显示为一个警告。   我们可以在代码中显示与编译时错误相同的内容,因为它是高优先级错误,以检查不能跳过的代码质量。

2 个答案:

答案 0 :(得分:1)

正如您所发现的那样,无法在编译时报告错误。

这是我能想到的,接近你的需要:

  • 配置Eclipse编辑器以将SonarLint项显示为错误(但这不会阻止代码执行):Preferences> SonarLint> SonarLint标记的严重性(=>将其设置为错误)。
  • 安装BuildBreakerPlugin,以便在质量门损坏时maven构建将失败。我之前使用过它,默认情况下使用sonar.buildbreaker.skip=true,除了在CI部署管道中,因此没有代码打破质量门会使它成为test / prod。

答案 1 :(得分:0)

经过大量研究后,我发现无法将代码质量故障显示为Sonar Qube的错误。

质量失败应该通过基于某些最佳实践的同行或同事的代码重构来消除。

但我们可以使用使用Error Prone作为构建引擎的Google Bazel来实现相同目标。