新しい「サイド」プロジェクトを生み出した大規模なプロジェクトに取り組んでいます。最初の子ではなく、かなりのサイズのプラグインに似ています。さまざまな理由から、この新しいプロジェクトをメインの製品リポジトリとは別のリポジトリで開発することにしました。どちらの製品も Maven ベースで、Artifactory リポジトリを共有しています。
この分離に伴い、単体テストと統合テストの夜間ビルドを実行し、Sonar を使用して Checkstyle と Findbugs 分析を適用する新しい統合環境を実装することも決定しました。
開発者と両方の製品の統合環境が同期していることを確認したいと思います (つまり、開発者は統合環境と同じ Checkstyle と Findbugs ルールを使用しています)。これを行うための単純なメカニズムを定義するのに苦労しています。これにより、新しい開発者が手動で環境をセットアップする必要がなくなります。
IDE に依存しないコード ベースを作成しようとしています (つまり、.eclipse、.project などをチェックインしません)。私は、Maven 拡張アーティファクトで Checkstyle および Findbugs 構成を公開するなど、いくつかのアプローチを検討してきました。理想的には、これらの構成は依存関係としてバージョン管理下に置かれますが、どちらのプロジェクトにも所有されません。構成への変更は、開発者環境と統合環境に可能な限り透過的に何らかの方法で伝播されます。
以前はワークスペース メカニックを使用して Eclipse をセットアップしていました。私はワークスペースの仕組みに完全に反対しているわけではありませんが、開発者環境とヘッドレス統合環境の両方に等しく対応する代替手段を模索したいと考えています。