2017-07-28 91 views
0

我有一個MSBuild項目,使用聲納掃描儀爲MSBuild進行分析。我已經將以下sonar.exclusion屬性作爲我的管道腳本的一部分來從分析中排除文件夾。但是我所有的排除組合都無法真正排除文件。Sonar.exclusions不適用於MSBuild的聲納掃描儀

/d:sonar.exclusions=\"IxMilia.Dxf/**,IxMilia.Dxf/*,**/IxMilia.Dxf,**/IxMilia.Dxf/**,**/IxMilia.Dxf/**/*,**/IxMilia.Dxf/*.cs,IxMilia.Dxf/*.cs\" 

我試着從分析範圍下的Sonar UI傳遞相同的數據,但這也沒有幫助。

聲納輸出看起來是這樣的:

INFO: ------------- Scan IxMilia.Dxf 
INFO: Initializer GenericCoverageSensor 
INFO: Initializer GenericCoverageSensor (done) | time=0ms 
INFO: Base dir: C:\Program Files (x86)\Jenkins\jobs\MCDC_Dev\workspace\IxMilia.Dxf 

INFO: Source encoding: UTF-8, default locale: en_IN 
INFO: Index files 
INFO: Excluded sources: 
INFO: IxMilia.Dxf/** 
INFO: IxMilia.Dxf/* 
INFO: **/IxMilia.Dxf 
INFO: **/IxMilia.Dxf/** 
INFO: **/IxMilia.Dxf/**/* 
INFO: **/IxMilia.Dxf/*.cs 
INFO: IxMilia.Dxf/*.cs 
INFO: Analyzer working directory contains 5 .pb file(s) 
INFO: 200 files indexed 
INFO: 0 files ignored because of inclusion/exclusion patterns 

正如你可以從輸出看到的日誌,我想排除本在工作區C的根文件夾:\ Program Files文件(86) \詹金斯\工作\ MCDC_Dev \工作區\ IxMilia.Dxf

IxMilia.Dxf文件夾中包含的.cs這是在構建CS項目的有關文件。

對此的任何幫助表示讚賞。

+1

看看你想要在SonarQube UI中排除的文件之一。在頂部,你應該看到文件的路徑_as SonarQube理解它。確認它應該匹配你的一個模式。 –

+0

感謝您的答覆@ G.Ann-SonarSourceTeam。我調查了SonarQube UI,這是它的樣子** mc-design-converter - > IxMilia.Dxf **。現在mc-design-converter是聲納中項目的名稱。將排除模式更改爲此也無濟於事。 INFO:mc-design-converter/IxMilia.Dxf/** INFO:分析器工作目錄包含5個.pb文件信息:200個索引的文件信息:由於包含/排除模式而被忽略的0個文件' –

回答

0

我找到了解決方案。與一般Sonar掃描儀不同,Sonar.exclusions參數不適用於MSBuild的聲納掃描儀。對於MSBuild項目,我們需要在我們想要排除的.csproj中添加排除項。 將下面的代碼添加到.csproj文件將導致根據配置的模式排除文件。

<Target Name="BeforeBuild"> 
<ItemGroup> 
     <SonarQubeSetting Include="sonar.exclusions"> 
      <Value>/**</Value> 
     </SonarQubeSetting> 
</ItemGroup> 
</Target> 
</Project> 

在上述代碼中,項目文件夾下的所有文件被排除在外,因爲/**作爲價值傳遞。你可以參考這個主題了解更多細節:http://www.it1me.com/it-answers?id=35656157&ttl=SonarQube+with+C%23+plugin+with+MSBuild+Runner+does+not+take+exclusions

相關問題