Xavier Hanin wrote:

Hi all,

To give a bit more of context on this discussion, the starting point was brett's blog titled "Ivy: do we really need more metadata?":
http://blogs.codehaus.org/people/brett/archives/001023_ivy_do_we_really_need_more_metadata.html



If I still agree that it would be much better to have only one repository, and one metadata for each project, I'm not sure this is possible for the moment.


I'd be very happy to use poms in ivy, but for the moment the philosophy is still too different.

I've gone a bit deeper in maven doc, and what makes a big difference between maven and ivy dependency management is that in ivy dependencies are declared on modules (= a project in maven), whereas in maven, as far as I understand, dependencies are declared on artifacts. So it's not so easy to share the same metadata with those two different approaches. Both have their advantages and drawbacks, I'm not claiming ivy is better, it's simply different. But in our day to day use in my company, we appreciate the advantage to have to declare only one dependency to get all the needed spring-framework jars and dependencies, and only the one required. And this is made possible with dependencies on module and the configuration directive. So I personnaly think it justifies to have our own metadata... and thus to provide ivyrep, unless you open a gate on ibiblio to publish our ivy files, in which case we would really be glad to use it.

I think that there are two ideas floating around, which have similar names but are quite different:
group dependencies and dependency groups


Group Dependencies (aka composite artifacts) is the feature which enables to define a single dependency on multiple artifacts.

Depenedecny Group is the feature which allows to logically group dependencies in poms and for example
mark some dependencies as optional.


I do believe that the first feature is actually very useful and not at all against maven's philosophy and it
can eliminate completly the need of having "dependency groups". Simply if we take hiberante as example
hibernate team can publish just one jar and multiple poms - for example: hibernate-full.3.0.pom, hibernate-minimal-3.0.pom,
hibernate-jcs.3.0.pom etc. Those poms will list the dependecies which are needed in diffrent cirumstances.
Of couse jars like hibernate-full.3.0.jar will not exists.


It is true that in maven you can only declared dependecies on artifacts.
But those artifacts can be files, which contain metadata which can be expanded to list of artifacts.
Isn't it something which is already sufficient for ivy?


If I rememebr group dependencies it is something, which was planned since a long time but I don't know if there are still plans to include that feature in m2. IMHO ivy can use poms to implement this feature even if maven won't support this feature.

It can be helpful as we could then define a single dependecy on virtual artifact like "my-web-platform:1.0", which can for example include a web framwork, tag liblaries, logging liblary, ioc container, zip files with css and js files and what ever else which is commonly used for developing web applications inside some company.

Michal



-------------------------------------------------------------------
Wzmocnij swoja komorke. Najwiekszy z silaczy na tapecie? Sprawdz: >> http://link.interia.pl/f1872 <<



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to