Hi,
I think we need an easy way for everyone to build only the product
he's working on. Thus I'd like to propose the creation of a new
svn:externals for the platform only and to move externals in a
specific dir:
/svnroot/xwiki
|_ externals/
|_ trunks-devs/
|_ trunks-users/
|_ trunks-platform-devs/
|_ trunks-platform-users/
This will achieve the following use cases:
Use case 1: I'm working on product XX and I'm not making any change
to the platform
- checkout just the product's trunk. For example /svnroot/xwiki/xwiki-
products/xwiki-watch/trunk
Use case 2: I'm working on both the platform and XWiki Enterprise but
not the other products
- checkout /svnroot/xwiki/externals/trunks-platform-devs/
- checkout XWiki Enterprise: /svnroot/xwiki/xwiki-products/xwiki-
enterprise/trunk
Caveat: you can't build both at the same time but you can build each
one with a single command.
Use case 3: I'm working on everything
- checkout /svnroot/xwiki/externals/trunks-devs/
Another option would be to create one externals per product but it's
a little bit of a pain to maintain. It's possible though. Actually
this would allow to fine tune the build to that only platform
components required for the product are built. For example, only the
plugin used by the product and only the applications built by the
product would be built. Actually this probably makes sense. In that
case we would have:
/svnroot/xwiki
|_ externals/
|_ trunks-devs/
|_ trunks-users/
|_ trunks-platform-devs/
|_ trunks-platform-users/
|_ trunks-enterprise-devs/
|_ trunks-enterprise-users/
|_ trunks-enterprise-manager-devs/
|_ trunks-enterprise-manager-users/
|_ trunks-watch-devs/
|_ trunks-watch-users/
|_ trunks-curriki-devs/
|_ trunks-curriki-users/
A last option would be to put the full platform under the same trunk/
but I don't think this is right as we should be able to release
platform modules separately.
WDYT?
Thanks
-Vincent