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 <vincent(a)massol.net> 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 xwiki-dev(a)objectweb.org mailing list.
To unsubscribe: mailto:xwiki-dev-unsubscribe@objectweb.org
For general help: mailto:sympa@objectweb.org?subject=help
ObjectWeb mailing lists service home page:
http://www.objectweb.org/wws