I'd fall into use case 2 (mainly 1). One of the things that I found with the current setup was that in order to get IDEA to allow "Goto Declaration" to show the source code for core stuff instead of compiled code, I had to run mvn idea:idea at the top level and thus ended up getting all of the products into my project (which was unneeded). Deleting the unwanted trees helps, but means that one really doesn't want to do an svn update at the top level anymore (and need to be careful that the changes to the top level pom.xml file are not checked in accidently). The ability to adjust what components get built to those that are needed would be nice, so the product-specific externals are probably best. Dave -- On 6/28/07, Vincent Massol <[email protected]> wrote:
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
-- You receive this message as a subscriber of the [email protected] mailing list. To unsubscribe: mailto:[email protected] For general help: mailto:[email protected]?subject=help ObjectWeb mailing lists service home page: http://www.objectweb.org/wws