SonarQubeスタンドアロン統合
CppDepend の SonarQube プラグインで C/C++ 開発を強化
重要:
このドキュメントはに関するものです 完全なC/C++ SonarQube統合、ソースコード解析用の SonarQube C++ プラグインをインストールする必要がなくなります。別の C/C++ SonarQube プラグインを使用していて、CppDepend の問題のみをインポートしたい場合は、次のドキュメントを参照してください SonarQube Light統合。
マシンで CppDepend を実行するには、まず プロフェッショナルDevOpsライセンス または 評価期間 CppDepend ファイルをマシンに解凍したら、次を実行します VisualCppDepend.exe 1 回。マシンがインターネットに接続されている場合、短いアクティベーション プロセスが実行されます。
マシンがオフラインの場合は、代替のオフラインアクティベーション手順が提供されます。SonarQube CppDepend プラグインを使用するには、この手順を完了する必要があります。
CppDepend SonarQube プラグインは、SonarQube バージョン 5.6 以降と互換性があります。
C/C++プラグイン前提条件
- インストール SonarQube.
- インストール SonarQube Scanner または旧Sonar Runner。
- SonarQube Scanner または SonarRunner の bin ディレクトリを PATH 環境変数に追加します。
プラグインのインストールと設定
- コピー sonar-cxx-cppdepend-standalone-plugin-1.0 から $CppDependInstallDir$/Integrations/SonarQube へ $SonarQubeInstallDir$\extensions\plugins ディレクトリに入れ、SonarQubeを再起動。
- 既定の CppDepend ルールは SonarQube ルールリポジトリに読み込まれます。ただし、これらのルールをカスタマイズする必要がある場合は、SonarQube の Administration タブにある .cdproj ファイルパスを使用して独自のカスタムルールを定義できます。

- 管理者としてログインし、必要なプロファイルで CppDepend ルールを有効化する必要があります。

- Sonar-Scannerを実行
こちら SonarQubeドキュメント コマンド ライン引数から Sonar-Scanner を実行することに関するものです。
CppDependプロジェクトファイルパラメータは 必須
-D sonar.cpp.cppdepend.projectPath={the path of cdproj}.CppDependスキャナー実行可能パラメータは 必須
-Dsonar.cppdepend.scanner=$CppDependInstallDir/Libs/CppDepend.SonarQubeScanner.exe.Windowsで:
>sonar-scanner -Dsonar.cpp.cppdepend.projectPath={cdprojのパス} -Dsonar.cppdepend.scanner="$CppDependInstallDir/Libs/CppDepend.SonarQubeScanner.exe"Linux/macOSで:
>sonar-scanner -Dsonar.cpp.cppdepend.projectPath={cdprojのパス} -Dsonar.cppdepend.scanner="$CppDependInstallDir/libs/CppDepend.SonarQubeScanner"パスに環境変数を使用しないでください。パスにスペースが含まれる場合は、二重引用符で囲んでください
-D sonar.cpp.cppdepend.projectPath="C:\work with space\project.cdproj"
プラグイン機能
- マルチモジュール解析: CppDepend プロジェクトには多数の C/C++ プロジェクトを含めることができます。分析後、CppDepend はすべてのコードを同じ SonarQube モジュールに配置しません。代わりに、各プロジェクトを個別のモジュールに分離するマルチモジュール SonarQube プロジェクトを作成し、コードナビゲーションを非常に簡単にします。

- 問題: CppDepend はデフォルトで 250 を超えるルールを提供し、完全にカスタマイズできます。CppDepend は次を行う強力な方法を提供します 技術的負債を計算 の問題。CppDepend の技術的負債と問題の重要度が SonarQube に渡されます。

- 標準メトリクス: プラグインはすべての標準 SonarQube メトリックを計算します。

- コード重複: 重複は SonarQube に組み込まれた CPD ツールによって検出されます。

- カバレッジ: プラグインは、Cobertura および Microsoft Visual Studio の XML 結果ファイルからカバレッジ結果を読み込みます。ただし、XML カバレッジファイルが存在するパスを設定する必要があります。


