On 20/10/2005 4:13 PM, David Jencks wrote:
On Oct 19, 2005, at 11:03 PM, Gianny Damour wrote:
On 20/10/2005 2:58 PM, David Jencks wrote:
On Oct 19, 2005, at 9:57 PM, Gianny Damour wrote:
You may be right. Having said that, this XML parsing is done each
time that a dependency is declared by a configuration. I see this
approach as more self-contained than a solution based on the build
system. Indeed, this approach allows to declare the runtime
dependencies of a dependency, which is rather handy.
Could you explain what you mean by this?
I think that this is better explained with an example:
Based on the META-INF/geronimo-service.xml file of the
geronimo-tomcat dependency, I know that 4 runtime dependencies are
required. As a user, it is clear that I need these 4 dependencies in
my repository to be able to use geronimo-tomcat. Without this file,
I do not know that. Based on the geronimo-tomcat POM, a user is able
to derive the compile time dependencies; yet it is not clear that
tomcat-coyote needs to be there at runtime.
Ah, I see. thanks.
I think that this is more handy as it is then trivial to write a
tomcat plan: I add the tomcat-plan dependency; define my GBeans; and
add to my repo the geronimo-service.xml runtime dependencies. With
the current approach, I would need to add to my custom plan all the
dependencies defined by j2ee-tomcat-plan (do I need all of them?).
Now I'm confused again. Right now, the dependencies in
modules/tomcat/src/etc/META-INF/geronimo-service.xml become
dependencies of any configuration that uses
geronimo-tomcat-${geronimo_version}.jar as a dependency.
Unfortunately, they are a shortened version of the dependencies for
jetty and don't include the 1001 tomcat jars that are needed to run
tomcat :-) So, if we edited all the geronimo-service.xml files and
added them where missing would that do what you describe?
Yes. Also, if they could be used upon assembly that would be exactly
what I was describing.
Thanks,
Gianny
thanks
david jencks
Also, I think that it is also a pain to declare the transitive
dependencies in a configuration. I would prefer to simply define
the top level dependencies, e.g. the ones defining the declared
GBeans, and let them define the other dependencies.
That is certainly a goal I like :-).
I like the idea of constructing the geronimo-service.xml's from the
project.xml. That would eliminate one source of duplication. And,
we could open up the configurations and possibly jars included
explicitly in an assembly and extract the dependencies and install
them into the geronimo repo providing they are available. However,
unless maven is also keeping track of the transitive dependencies
somehow, such as through poms, I don't see how maven will be able
to guarantee that all the dependencies needed for an assembly are
actually present in the local maven repo, so we can copy them. Any
ideas?
I see the problem now: all the dependencies need to be in the local
maven repo and it seems that only Maven will be able to do that.
Thanks,
Gianny
thanks,
david jencks
Thanks,
Gianny
On 20/10/2005 2:40 PM, Bruce Snyder wrote:
On 10/19/05, Gianny Damour <[EMAIL PROTECTED]> wrote:
Another approach would be: for each plain dependency, we could
generate
a META-INF/geronimo-service.xml file based on the POM
dependencies as
part of a standard build. Transitive dependencies would be
achieved by
walking down the dependencies defined by the
geronimo-service.xml file.
I'm not shooting down anything, but that sounds like a lot of extra
XML parsing. I'm curious to hear Dain chime in here to describe
exactly what he's doing with the Maven repo management code.
Bruce
-- perl -e 'print
unpack("u30","D0G)[EMAIL PROTECTED]&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC; VT*"
);'
The Castor Project
http://www.castor.org/
Apache Geronimo
http://geronimo.apache.org/