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


Reply via email to