We have recently started using projects that live outside the directory tree of the root project, and find ourselves doing this pattern:
include "sandbox-plugins"
project (":sandbox-plugins").projectDir = new File("c:/iknowbase_trunk/DevToolkit/sandbox-plugins")
include "sandbox-plugins:sandbox-viewer-plugin-freemarker"
include "sandbox-plugins:sandbox-viewer-plugin-instant"
It seems like a good idea to provide a variation of “include” that takes an addition Map parameter configuring the ProjectDescription, to that we can simplify this. While the code reduction is small in bytes, it improves readability a lot – and the implementation cost is probably not all that high…
include "sandbox-plugins", projectDir: new File("c:/iknowbase_trunk/DevToolkit/sandbox-plugins")
include "sandbox-plugins:sandbox-viewer-plugin-freemarker"
include "sandbox-plugins:sandbox-viewer-plugin-instant"