繁体   English   中英

SonarQube可以配置为在Linux机器上使用Windows行尾吗?

[英]Can SonarQube be configured to use windows line endings on a linux machine?

我有一个基于Java的大型项目,该项目托管在GitLab上,该项目通过Jenkins使用ant构建。 詹金斯机是一个Windows盒子,并装有SonarQube扫描仪。 作为构建过程的一部分,jenkins机器将扫描代码,并与单独的SonarQube服务器(Linux盒子)进行通信。

目前,由于它是从svn转换而来的,因此我们的git repo仅具有基于Windows的行结尾。 在此配置下,SonarQube可以在代码提交中检测到新问题,但是无法检测到新问题的行号。 在GitLab中,它将常规注释附加到合并请求,而不是进行常规的在线注释。

我使用额外的日志记录运行了SonarQube分析,发现它无法对检测到问题的行与代表文件其余部分的行进行字符串比较。

特别是,它看起来像要搜索的字符串,在字符串的开头有新行,而数组中的字符串在字符串的末尾有新行。

凭直觉,我将测试分支中的所有行尾都切换为Unix风格的行尾,并使windows框使用auto-crlf。 这样就解决了问题,SonarQube能够匹配字符串,并为在GitLab合并请求中检测到的问题提供了嵌入式注释。

由于更改每个文件的每一行以强制Unix行尾都更具侵入性,所以我们想知道,我想知道是否可能缺少某些配置选项,即使在Windows 2000上运行时,SonarQube也能识别Windows样式的行尾Linux机器?

原来,这是GitLab插件的已知问题,而不是 SonarQube服务器。 此问题已在最新的代码库中修复,但不属于当前的稳定版本。

此处的详细信息: https : //github.com/gabrie-allaigre/sonar-gitlab-plugin/issues/35

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM