ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Harald Braumann <>
Subject Re: specify versions separate from dependencies
Date Wed, 27 Feb 2008 18:49:47 GMT
On Wed, 27 Feb 2008 19:02:57 +0100
"Xavier Hanin" <> wrote:

> On Wed, Feb 27, 2008 at 6:35 PM, Harald Braumann <>
> wrote:
> > From the many, many hours of experience I have in fixing dependency
> > problems, I can tell you that for any reasonable complex
> > project, automatic conflict resolution does not work and leads to a
> > lot of problems and headache. Thus I want to be in control of the
> > versions. Once this is supported by ivy, my plan is to create a
> > tool that creates the versions file for you. It would resolve all
> > the dependencies recursively and write the versions file. It would
> > also tell you all conflict, which you have to resolve by hand (IMHO
> > the only sensible thing to do). If you change any dependency, you
> > re-run the tool and it tells you all the new conflicts (by
> > comparing with the old version of the versions file).
> Interesting idea. Note that if you need overriding only when you have
> conflicts, the conflicts/manager elements in Ivy files can already
> fit your needs AFAIU: you run a resolve with a conflict manager which
> only collects conflicts from your tool, then ask the user to select
> versions, and create the conflict management section to include in
> your main ivy file. Since inclusion is not (yet?) supported, you
> still need to do some kind of automatic merging before giving this to
> Ivy, but this is not the hardest part. The end result would be really
> close to what you would have with a dependency override mechanism,
> except that conflicts would still appear as conflicts in dependency
> reports. WDYT?

That would solve the problem of overriding conflicts. But in addition I
would like to be able to specify versions to use for multiple modules
in a single place.

Modularising a project has a couple of advantages. But it also adds
complexity, which makes modularisation kind of a PITA.

Our project, and also some open source projects I follow, which went
the stony path of modularisation (see e.g. put a lot of effort
into custom tools just to make the building and installation somehow
manageable. And still they have problems constantly.

Now I think that it doesn't have to be like this. The pain could
be alleviated by proper tool support and a dependency management system
seems to be the perfect match.


View raw message