2015-06-05 37 views
2

關於此問題有一些問題,但他們都沒有解決我的問題。如何從代碼分析中排除目錄?

我用SonarQube在我的項目,其中包含一個遷移目錄的一個做代碼分析。我想排除從代碼分析的那個目錄中的所有源文件。

在項目配置 - >設置 - > Exclusions->文件 - >源文件排除我加「** /遷移/ ,但在分析結果我還是得到代碼文件問題該目錄。
我的項目的目錄結構如下所示:\MyProject\Migrations\SourceFile.cs

我在做什麼錯了?我是否在錯誤的地方輸入了通配符,或者我的通配符錯誤?

在日誌中我可以看到

13:06:23.460 INFO - Copy-paste detection exclusions: 
13:06:23.476 **/Migrations/*.* 

但後來我還可以看到

13:06:12.076 INFO - Inspecting <MyProject>\Migrations\SourceFile.cs 
+2

你檢查這一點 - http://docs.sonarqube.org/display/SONAR/Narrowing+the+Focus 這也許應該爲你工作: sonar.exclusions =遷移/ **/* – Techtwaddle

+0

是啊,並且該配置參數似乎是最合理的選擇,但實際上不同的設置參數完成了這個技巧,答案中的細節。 –

回答

1

我不得不使用不同的設置。

相反配置 - >設置 - > Exclusions->文件 - >源文件排除我不得不使用配置 - >設置 - > Exclusions->Issues->忽略多項標準問題。

在這個設置中,我必須將RULE KEY PATTERN設置爲*,並且我必須在FILE PATH PATTERN中設置路徑通配符,**/Migrations/.完美地工作。

+0

哪個版本的SonarQube是這個用的? – user944849

+0

這是版本4.1。從那以後,我更新到最新的5.1.1,但我沒有檢查它是否仍然有效。 –

2

這是正確的地方設置。請僅嘗試或/MyProject/Migrations/**。當你遇到你想要擺脫的問題之一時,你會看到你的「正則表達式」路徑應該從什麼開始。

而且多了一個提示:要查看結果,你必須重建項目,再次運行聲納。再次,直到你做對了。

+0

感謝您的建議,我嘗試重新啓動並簡化了標準,但這並沒有幫助。但是,我設法使它與另一個配置參數一起工作,答案中的詳細信息。 –