SonarQubeランナーでは、ソナープロジェクトプロパティのsonar.exclusionsプロパティで除外されたプロジェクトを管理することができました。この方法で、コードベースとは別のビルド構成を管理できます。MSBuild用SonarQubeスキャナー:除外
私たちはMSBuildのランナーからスキャナに移行して、コードでFXCopルールを実行することを利用しています。
sonar-project.propertiesファイルをプロジェクトのルートフォルダに残すと、 "MSBuild.SonarQube.Runner.exe end"コマンドで例外が発生します。 SonarQubeスキャナーがsonar-project.propertiesファイルをMSBuild用に認識していません。これらのファイルを以下のフォルダから削除してください:[フォルダ]
特定のプロジェクト(実際には名前が.Test、.Tests、.Testing、.UnitTestsなどで終わるすべてのプロジェクト)を除外するための唯一のオプションが表示されます影響を受ける各プロジェクトのpropertyGroupにプロジェクトプロパティを追加するには:<SonarQubeExclude>true</SonarQubeExclude>
これは、ルートレベル(ジェンキンの場合)やビルド設定での設定管理と比較して、エラーが発生しやすく、 TeamCityで現在使用しています)。
代替手段はありますか?将来の計画ですか?
プロジェクトフォルダが***と呼ばれている場合、テストは除外設定に追加した後もスキャンされます。
[14:14:14][Step 12/23] INFO: ------------- Scan MyProject.Tests
[14:14:14][Step 12/23] INFO: Excluded sources for coverage:
[14:14:14][Step 12/23] INFO: **/*.Tests/**/*
[14:14:14][Step 12/23] INFO: **/*.Test/**/*
[14:14:14][Step 12/23] INFO: Base dir: C:\SomeFolder\MyProject\Modules\MyProject.Tests
[14:14:14][Step 12/23] INFO: Working dir: C:\SomeFolder\MyProject\.sonarqube\out\.sonar\{Sonar_Project}_{some guid}
[14:14:14][Step 12/23] INFO: Test paths: [I removed some classes], Utils/SomeTests.cs, Enum/dummy.resx, app.config, Compression/TestData/data1.FRM, Compression/TestData/data1.zip, Compression/TestData/data1.Off.zip, packages.config
[14:14:14][Step 12/23] INFO: Source encoding: UTF-8, default locale: en_US
[14:14:14][Step 12/23] INFO: Index files
[14:14:15][Step 12/23] INFO: 45 files indexed
[14:14:15][Step 12/23] INFO: Quality profile for cs: [some profile]
[14:14:15][Step 12/23] INFO: Quality profile for vb: [some profile]
プロジェクトフォルダが** \ *。テストと呼ばれる場合、除外設定にもかかわらずスキャンされます。 – Reinout
オープニングポストにいくつかのログメッセージを追加しました。 – Reinout
分析パラメータにこれらのプロパティグループを管理するためのドキュメントがないため、正しく取得することは非常に困難です。 –