The only hard requirement for a multi-project build is that all the projects that it contains are accessible through the file system, and that there is a way to determine their file system locations. The directory layout is completely customizable. However, if a developer needs to perform multiple checkouts in the right locations to bring everything in position for the build, his job will become more difficult. I don't recommend this.
One way out is to have an uber-repository in VCS that 'includes' all other repositories, creating the illusion of one single repository. See http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html or http://book.git-scm.com/5_submodules.html for a conceptual explanation. Another option is to build and publish (and possibly even release) the projects independently, with dependent projects pulling in binary versions of depended-upon projects. This works best with a continuous integration server that regularly publishes build artifacts to a shared artifact repository. Regarding your question about sharing common build information between independent projects, you can apply an external build script to your project with: apply from: "http://path/to/shared/build/script" I think that currently only HTTP and file are supported, but more protocols will follow. -- Peter Niederwieser Developer, Gradle http://www.gradle.org Trainer & Consultant, Gradle Inc. http://www.gradle.biz Founder, Spock Framework http://spockframework.org -- View this message in context: http://gradle.1045684.n5.nabble.com/Project-organisation-question-tp3368986p3369364.html Sent from the gradle-user mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email
