많은 모듈로 구성된 많은 제품이 있으며 그 중 일부는 일부 제품간에 공유됩니다. 그것들은 몇 가지 버전 관리 저장소에 퍼져 있습니다.버전 관리의 다중 모듈 소스 프로젝트에 대한 선언적 종속성 처리
제품은 모든 모듈을 체크 아웃하고 올바른 순서로 모듈을 빌드하는 마스터 앤트 스크립트로 작성됩니다. 모듈에는 자체 릴리스주기가 없습니다.
이제는 선언적 종속성 관리로 가고 싶지만, 모든 솔루션 (Maven, Ivy)은 버전 제어하에 소스 코드보다는 인공물에 의존하는 것으로 보입니다. 유물에 따라 우리를 위해 머리에 물건을 바꿀 것이므로, 나는 오히려하지 않을 것입니다. Ivy와 같은 것이 좋겠지 만, 내 제품은 modules foo, bar and baz (branch 2.0)에 의존하고 있으며, 하나 이상의 소스 코드 관리자 (일부 구성에 지정되어 있음)의 소스 코드를 체크 아웃 할 수 있습니다. 평평한 작업 공간.
나는 당신이 문제의 같은 종류에 직면 할 것 때문에 의존성 관리의 대한
Gradle을의 "프로젝트 종속성"올바른 모듈을 구축 나는 (내가 생각하는) 필요하다 모든 것이 체크 아웃되면 주문 및 참조 된 항아리. svn : externals가 작동 할 수는 있지만 한 곳 이상에서 의존성을 지정하는 것에 만족스럽지 않습니다. 또한 정적이며 "다른 모듈이있는 경우 같은 이름의 브랜치를 가져옵니다. 그렇지 않으면 트렁크를 얻습니다"와 같은 체크 아웃 시간 마술을 허용하지 않습니다. 여기 내 마음을 정리하기 전에 더 많은 제안을하고 있습니다 ...:) – simon
Gradle의 다중 프로젝트 빌드는 동일한 방식으로 작동합니다. http://www.gradle.org/0.9-preview-3/docs/userguide/multi_project_builds.html –