次のような構造を使用する大規模なアプリケーション(〜50モジュール)があります。
- 応用
- 通信モジュール
- カラー通信モジュール
- SSN通信モジュール
- 等通信モジュール
- ルーターモジュール
- サービスモジュール
- 投票サービスモジュール
- 投票用のWebインターフェイスサブモジュール
- 投票用の投票コレクターサブモジュール
- 投票など
- クイズサービスモジュール
- などモジュール
- 投票サービスモジュール
- 通信モジュール
アプリケーションをMavenとSubversionにインポートしたいと思います。いくつかの調査の結果、これには2つの実用的なアプローチが存在することがわかりました。
1つは、前のものと同じようにツリー構造を使用しています。この構造の欠点は、マルチモジュールレポートをMavenでうまく機能させるために、大量の調整/ハックが必要になることです。もう1つの欠点は、Subversionでは、標準のトランク/タグ/ブランチのアプローチにより、リポジトリがさらに複雑になることです。
もう1つのアプローチは、フラット構造を使用します。この場合、親プロジェクトは1つだけで、すべてのモジュール、サブモジュール、およびサブモジュールの一部が親プロジェクトの直接の子になります。このアプローチはレポート作成に適していて、Subversionの方が簡単ですが、この方法では構造が少し失われているように感じます。
長期的にはどちらの方法を選びますか、またその理由は何ですか。