私はハドソンでビルドする Maven プロジェクトをたくさん持っており、Sonar は傍観者です。Sonar は、Sonar の統計情報、FindBugs の統計情報、およびコード カバレッジを提供してくれます。
Sonar を使用する場合でも、Maven 経由で EMMA を直接使用する場合でも、ビルド サイクル全体が 2 回実行されることに気付きました。これには、init (私の場合、データベースを再初期化します -- 高価です) と単体テスト (数百 -- これも高価です) が含まれます。
どうすればこれを防ぐことができますか? 私は多くの読書をしましたが、これはコードカバレッジプラグインの設計によるようです-インストルメント化されていないクラスをインストルメント化されたクラスから分離しておくためです。
次のような構成を試しました:
- Maven の実行: デプロイ、EMMA
- Maven の実行: デプロイ; 完了時に Sonar にデプロイする