Eclipseのリビルドを高速化する方法を探しています。複数のプロジェクトでEclipseのMavenビルドを最適化する
いくつかの背景:私たちは比較的大規模なプロジェクト、約177個のファイル、全部で約150個のモジュールを持っています。テストなしの完全なビルドには約15-20分かかります。テストは6時間近く行います。あなたがデバッグやリファクタリングをするときは、PITAです。私たちはいくつかのアクティブブランチを持っています(そして、それらを頻繁に切り替える必要があります。ローカルブランチは、常にX.X-SNAPSHOTのバージョンです(これは重要と思われる)。
ほとんどの場合、すべてのプロジェクトを変更しているわけではなく、ほとんど作業していません。だから、最適化の余地がたくさんあります。
私の理想的なシナリオは、明示的にそうしない限り、パッケージレポジトリから引き出され、ローカルに構築されないプロジェクトを選択することです。これは達成できますか?
物事は私が試した:
モジュールのサブセットのみをインポートします。部分的に役立ちますが、依然としてすべての依存関係がチェックされるため、変更されていないにもかかわらず、プロジェクトのモジュールの半分がチェックされてしまうことは避けられません。部分的な成功。
私が扱うソースコントロールからプロジェクトをチェックアウトするだけです。ビルドは驚くほど高速です。なぜなら、Mavenはビルドする代わりに、企業リポジトリまたは〜/ .m2キャッシュからバイナリ依存関係を取得するためです。あなたはすべてのソースをチェックアウトしていないので、SVNとGitの作業はやや難しくなります。部分的な成功。
自動ビルドを無効にし、コマンドラインからすべてを-am -plオプションでビルドし、更新されたプロジェクトを指定します。大規模な変更(つまり、マージ後)を行う必要がある場合に役立ちますが、(a)煩雑であり、(b)自動的にビルドを有効にすると課税されます。
私たちは、その巨大なレポを個々のサービスとベースライブラリに分解し、異なるソース管理リポジトリに移動することを提案します。経営陣から「ええ、正しい」と感じました。おそらく起こることはないでしょう。
他に何かできることはありますか?