ソース管理システムをすべての一意の参照にしたい場合は、ソース管理に dist を含めることをお勧めします。
- 開発者
- アセンブラ (単体テスト)
- ホモロゲーション テスター (統合プラットフォームで一連の dist にクエリを実行し、そこで非回帰テスト、パフォーマンス テスト、ストレス テストなどを実行します)
- プロダクション リリース マネージャー ...
ただし、これを実現するには、適切なリリース プロセスが必要です。
あなたの場合、ビルドは別のプライベート ディレクトリにある必要があります。これは、Subversion にないディレクトリです。ビルドに問題がなければ、それが公式リリースの場合は Subversion にインポートします。次のチームが必要とするだけの一時的なビルドの場合は、共有ディレクトリにインポートします (したがって、何百ものビルドを SCM にコミットすることを回避します)。スペースを無駄に使用します)。
注: SCM に配信 (dist) を含めることの主な利点は、依存プロジェクトがソースではなく、配信 (いずれかの時点で本番環境に移行することになります) と直接連携できるようにすることです。彼らのコードを機能させるには、あなたの配信でコンパイルすることで、あなたと一緒に展開すると、彼ら自身のディストリビューションが機能する可能性があります。
そうすれば、他のチームは、ソースにアクセスするときに、配信 (「myProject.jar」) にアクセスします。SCM を介して、jar のバージョン、日付、履歴、メタデータ、ラベルなどを読み取ることができます。すぐ。
ただし、1 つの小さなモノリシック (「他のプロジェクトがそれに依存していない」) プロジェクトの場合、dist (最終的なパッケージ化された配信)をオンデマンドで再構築し、外部参照システムに外部参照システムとして保存できると主張できます。たとえば、Maven リポジトリ。
しかし、Maven は SCM リポジトリではありません。つまり、jar ('MyProject-1.0.jar') に署名する必要があり、履歴がなく、すべてのメタデータを配信に沿って別のテキスト ファイルで報告する必要があります。その Maven リポジトリでその配信にアクセスする他のプロジェクトは、バージョンの命名規則に従ってスクリプトとクラスパスを調整する必要があります。
さらに、Maven は開発アーキテクチャのもう 1 つのリポジトリです。リポジトリの数を最小限 ('1' ;) に抑えることができる場合はいつでも、それはより良いことです。