2016-02-26 5 views
5

Attualmente ho un'istanza di SonarQube 5.1.2 con plug-in C# e runner MSBuild per analizzare un progetto 1.200.000 LOC. Ho intenzione di ridurre le classi che vengono analizzati, ho creato un file sonar.properties con la lineaSonarQube con plug-in C# con MSBuild Runner non accetta esclusioni

sonar.exclusions=**/Databases/**/*.* 

ma dopo aver letto il registro dall'analisi, sono stati analizzati i file all'interno della cartella Database. seguendo le istruzioni da Eric Starr, ho impostato questa semplice regola di esclusione nella chiamata del corridore:

"C:\sonarqube-5.1.2\bin\MSBuild.SonarQube.Runner.exe" begin /k:MyProject /n:MyProject /v:2 /d:sonar.exclusions="file:C:\codesource\Databases/**/*.*" /d:sonar.scm.provider=tfvc /d:sonar.tfvc.username=************* /d:sonar.tfvc.password.secured={aes}*************************** "/d:sonar.cs.vscoveragexml.reportsPaths=C:\codesource\CodeCoverage\Results.coveragexml" 

ho scoperto che il corridore crea un file sonar-project.properties, e contiene un sacco di file si trova nella cartella dei database:

BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectName=myDatabase 
BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectBaseDir=BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectName=myDatabase 
BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.projectBaseDir=C:\\codesource\\Databases\\myDatabase 
BC78C8C4-8ECD-47CB-9781-F621AE109FE4.sonar.sources=\ 
C:\\codesource\\Databases\\myDatabase\\Scripts\\PreDeployment\\PATCH_20150527_01.sql,\ 
C:\\codesource\\Databases\\myDatabase\\Scripts\\PreDeployment\\ROCOMMON.DBVERSION.sql,\ 
,\..... 

come ho capito, non ci dovrebbero essere file nella cartella database. Ho sbagliato?

+0

Hi @XtianGIS se la risposta di seguito ha risolto la tua domanda perche [accettarla] (http://stackoverflow.com/a/35722039/1132448) facendo clic sul segno di spunta. Ciò indica alla comunità più ampia che hai trovato una soluzione e dà una certa reputazione sia al rispondente che a te stesso. – CyberJacob

risposta

8

Si sta utilizzando il SonarQube Scanner for MSBuild che è molto diverso dal normale SonarQube Scanner utilizzato per tutte le altre lingue.

La riga sonar.exclude che si sta tentando di utilizzare funziona solo se si utilizza lo scanner SonarQube regolare, in quanto tale file contiene il file Sonar-project.properties. SonarQube Scanner per MSBuild ha solo un file SonarQube.Analysis.Xml che contiene le impostazioni relative al progetto che è possibile modificare.

È possibile utilizzare due strategie sovrascrivere il file SonarQube.Analysis.Xml:

  • Una proprietà specifica del progetto definito nel MSBuild * * file di proj (corrispondente ad un modulo SonarQube) può ignorare.:
  • una proprietà definita nella riga di comando (/ d: propertyName = value) è che può ignorare:
  • una proprietà definita nel file di configurazione SonarQube.Analysis.xml
  • una proprietà definita nell'interfaccia utente SonarQube a livello del progetto che può scavalcare tutto
  • una proprietà definita nell'interfaccia utente SonarQube a livello mondiale che non può ignorare nulla

Per escludere cartelle o estensioni specifiche dalla soluzione:

È necessario aggiungere le esclude in file .csproj di ogni singolo progetto. Ecco la sintassi da utilizzare all'interno del nodo principale principale, denominata <Project...> e in uno degli obiettivi, preferibilmente <Target Name="BeforeBuild">. Spero che la sintassi di seguito sia sufficientemente esplicativa, ma nel caso non lo fosse, si prega di lasciare un commento sotto questa risposta e aggiornerò subito.

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

Spero che sia d'aiuto!

Source

+0

Ho effettuato un aggiornamento a SonarQube 5.3, configurare le esclusioni nella sezione di amministrazione, inoltre, ho impostato le esclusioni nella riga di comando di sonarqube. quando viene eseguito il corridore, genera il proprio file SonarQube.Analysis.xml con i pattern di esclusione definiti in entrambe le posizioni. Nessuna è applicata :( – XtianGIS

+0

@XtianGIS Sì, ecco perché è necessario apportare le modifiche nel file .csproj perché dovrebbe generare il file SonarQube.Analysis.xml basato anche su questi. – anthonymonori

+0

Suppongo che il SonarQube.Analysis.xml – XtianGIS

Problemi correlati