On lundi 30 mars 2009 19:34:33 Sam Berlin wrote: > Hi All, > > We have a large multi-project repository that currently uses Ivy+Ant and > works very well. I'm looking into using IvyDE, but setting it up for a > large multi-project repository seems to be a real pain. > > An ivy.xml file exists in each project, and a shared ivysettings exists > under the 'common' project's directory. I've been able to configure IvyDE > properly by using "project:///ivysettings.xml" in the common project's > IvyDE properties and 'project://common-project-name/ivysettings.xml' in > each other module's IvyDE properties. This works, but is a real pain to > setup. > > What I'd like to do is something similar to the m2eclipse plugin, where > they take the parent of a multi-module pom and the plugin automatically > creates a project for each module. In Ivy-land, this would be similar to > subant after ivy:buildlist within Ant. > > Would you be amenable to having some kind of 'Checkout as Ivy Project' or > 'Create Ivy Project' that scans for subdirectories containing ivy.xml > (perhaps offering options similar to buildlist) and then automatically > creating each project it finds? The setup wizard could ask where a shared > ivysettings is for each project and automatically fill in the properties > for each project. Something like this would be an amazing step in in terms > of usability of IvyDE for multi-project repositories. > > I can investigate into how m2eclipse does this and try and create something > similar for IvyDE if people think this is a feature that would be accepted.
I tried to look into m2eclipse where is that feature and I didn't see any "import several maven project", or "create several maven project". I don't daily use maven so I may have missed something. Unless you talked about the eclipse:eclipse maven goal ? The way I managed it in our project is by using an ant target. As ant always knows where is the ivysettings for the current project, I made a target that create a .classpath for eclipse, .classpath which includes a reference to the IvyDE plugin. And then on the upper level, I can have a target that for each project launch that "eclipse-ivyde" target. The flaw is that the .classpath cannot be shared between developpers, but my experience tells me that this is generally a good idea. Another solution is to use the global settings of IvyDE. In your global preference of IvyDE, set an ivysettings to your: project://common-project-name/ivysettings.xml And then every of your sub project would be configured to use the workspace settings. The disadvantage is that it doesn't work if you have sevral "big project" with different ivysettings in workspace. Nicolas
