Jörg Schaible wrote:
> Maybe it's also time to think about more fine grained artifacts. With Maven
> the dependency management is no longer that worse. We could have
>
>   collections-x.y.jar
>   collections-functor-x.y.jar
>
> with the latter providing the stuff of collections depending on functor.
> This will not work for all kind dependencies between the commons stuff
> (e.g. helper classes from commons-io), but there are some components now,
> where an currently optional dep simply means additional functionality (e.g.
> in configuration or vfs).
>
> Opinions?

I considered suggesting exactly that approach, but until now chose to
stay out of the discussion.  I think it would work well, provided that
dependencies to be isolated in this way are independent of each other.
In other words, collections-functor is fine, and (hypothetical)
collections-logging and collections-math are ok, but
collections-functor-logging-math is bad.

In cases where such isolation is not feasible (one project provides core
dependencies of another) I come down on the side of simply accepting
the dependency rather than copying the needed classes and thereby
assuming maintenance responsibility for the copies.


Regards,

John



      

Reply via email to