私が取り組んでいる製品があります、フー。現在、おおよそ次のファイルシステム構造を持っています。これは、いくつかの論理的に異なるモジュールで構成されています。依存関係をもう少し明示的にできるように、これらの各モジュールをパッケージ化したいと考えています。
ただし、単一のチェックアウトを引き続き実行できるようにして、単一のソリューション、単一のビルドスクリプトなどを利用できるようにしたいと考えています。
rspec のやり方のようなもの。rspec パッケージは、個別に管理できる一連のサブパッケージに依存しています。
編集:最善の方法:
- モジュールを相互依存させる
- ビルド自動化などを複製しないという意味で、ソース管理チェックアウトから一度に複数の作業を行うエクスペリエンスを機能させます。ReSharper ができるように、単一のソリューションを持ち続けたいです。たとえば、使用されていないコードを見つけます (これは大きなレガシー コードベースです)。** したがって、一連のモジュールを変更するには、依存関係を正しく進めるために、すべてのバージョンを一度にインクリメントする必要があります。
.
/Foo.git
/module1
/src
/module1
/module1.specs (tests)
/module1.sln
/module1.wrapdesc
/version
/module2
/src
/module2
/module2.specs
/module2.sln
/module2.wrapdesc
/version
/Foo.sln
/Rakefile.rb (I'm using ruby/rake to build)
/Gemfile
/Gemfile.lock