簡體   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