commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stéphane MOR <>
Subject Re: [JJAR] using maven's repo...
Date Mon, 12 Aug 2002 12:23:53 GMT
James Strachan wrote:

>----- Original Message -----
>From: "Geir Magnusson Jr." <>
>>On 8/12/02 6:14 AM, "James Strachan" <> wrote:
>>>Incidentally - after taking a fresh look at JJAR - it could be nice to
>>>implement JJAR's Repository interface using Maven's physical repository.
>>>Maven uses directories for each project/package, then seperate files for
>>>each version, rather than a single XML doc for the whole repo.
>>>So right now JJAR has RepositoryXML that implements Repository by
>parsing a
>>>single XML doc. Writing a MavenRepository class should be pretty easy,
>>>could just use any Maven repo, such as the one here...
>>That was the idea, but how do you specify dependencies?
>Right now each project has a project.xml that defines its dependencies on
>other things (jars typically). Then a Maven repository contains those
>things. Ultimately I think the repository also needs to also store the
>dependency information as well, whether inside the jar META-INF in some
>format, or as some XML document in the repository.

I think that the repository will contain the project.xml file
for each of the projects. This way we could get each project's
dependencies easily. There is a goal in Maven called deploy:pom
which was done for this purpose, I believe.

An advantage of this is that you can tell that A depends on B,
and if B depends on C, you get that info from B's repository's
project.xml, and you get C for free. We've been talking about
that and refered to it as "direct dependencies" or "first level
dependencies", or again "inherited dependencies", which is
something that may be really helpful regarding the commons for
instance, where inter-dependency is quite high.

A few graphs on a set of projects showed that for instance, when
Velocity was specified on more than 12 projects (out of ~100),
with the dependency inheritence, it was really only needed by
2 of them, those "giving Velocity" to all the projects that
depended on them.
Log4j, Dom4J, commons-beanutils are other good examples of the
benefits of using this mecanism.

(You can find two comparison graphs here :

As for JJAR, I don't know how that sort of things could fit,
but I guess that both dependencies models can be merged / adapted
to each other so that JJAR users can use Maven repos and Maven
users can use JJAR repos...

>I think this is happening with the 'reactor' stuff in Maven though I don't
>know enough about it yet to go into much more detail. But I should think
>this is quite easy to do, maybe as a standard part of the Maven build/deploy
Yep, that's definitely a Reactor thing, even if it needs to be a
little clearer (what should it do ? what does it already do ?).



Do You Yahoo!? -- Une adresse gratuite et en français !
Yahoo! Mail :

To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message