On Oct 19, 2005, at 11:20 PM, Gianny Damour wrote:
On 20/10/2005 3:08 PM, David Blevins wrote:
On Oct 19, 2005, at 9:23 PM, Gianny Damour wrote:
On 20/10/2005 1:56 PM, David Jencks wrote:
I've been working on building geronimo using the packaging and
assembly plugins. This works fine except for the unmanageable
dependencies. The project for the assemby plugin to work on
currently needs to include in the project.xml every jar to go into
the assembly's repository. Tracking these is impossible.
We need some way for a configuration or even a plain dependency to
instruct the assembly plugin to copy the artifacts dependencies
into the repository.
One possibility is to use maven poms. IIUC Dain is working on
integrating or imitating the latest maven repository management
code. Will this give us transitive dependencies? Will the maven
model work for us? How close is this? If we had it, it would be
pretty easy to construct separate jetty and tomcat assemblies, a
both assembly, an assembly w/o ejbs, etc etc. Without transitive
dependencies, it will be a nightmare to try to keep the repository
contents adequate and restricted to what is actually needed to run
the server.
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.
That really wouldn't solve the transitive side of the problem. I
mean it would work as we maintain our poms to include our
dependency's dependencies (and dependencies of those dependencies
(and ...(N))), but expecting a completely flattened list of
dependencies in a single file per configuration isn't really the
definition of transitive.
LOL. Hopefully, this is not the approach that I was trying to
explained. Our POMs stay "as is" (w/o the dependencies of dependencies
and this transitively). Upon build, we generate a geronimo-service
plan defining all the "direct" runtime dependencies identified by the
POM.
Based on the resulting geronimo-service file, there would be two
approaches:
1. upon car packaging, runtime dependencies defined by the POM
dependencies are copied from the local maven repo to the car. Upon
assembly, the runtime dependencies defined by the car module are
copied to the repository; or
That's what "include" does, except the dependencies stay in the car. I
don't think this is a good idea generally, it sort of defeats the
purpose of the maven repo.
2. upon assembly, the runtime dependencies are read from the car and
copied from the local maven repo to the repository.
This is what I would like.
Thanks,
Gianny
Just being a stickler :)
We already generate part of the geronimo-service.xml files at build-
time, we might as well go all the way.
??? where is a geronimo-service.xml file generated today? do you mean
the version substitution?
thanks
david jencks
-David