On Sep 24, 2008, at 3:06 AM, David Jencks wrote:


On Sep 23, 2008, at 8:28 PM, Kevan Miller wrote:


On Sep 23, 2008, at 1:17 PM, David Jencks wrote:

I'd like framework to build the entire working framework server, thus demonstrating that it really is a complete server. I think it would work with the following changes:

- move at least the car-maven-plugin into framework, perhaps all of buildsupport
- move the jsr88 classloader into framework
- move the framework plugingroup into framework
- move the assemblies geronimo-boilderplate and geronimo-framework into framework

This is somewhat related to https://issues.apache.org/jira/browse/GERONIMO-4258

Thoughts? Objections? Comments?

Personally, seems a bit forced... I'm not sure I understand your motivations, and if I do understand, not sure that I really agree with them. Why exactly is "demonstrating that it really is a complete server" necessary? Or good?

Can you be a bit more precise about what you mean by 'jsr88 classloader'?

Personally, I kind of like that a 'plugingroup' can be found in 'trunk/plugingroups'. Similar feelings for assemblies and buildsupport.

My sense is that you want 'framework' to be a standalone entity, as if it were separately releasable -- which we could do (although I don't see much advantage in that, at the moment...). Until we're ready to truly split it apart, I'm not sure there's much gain by going half-way.

My idea about the geronimo servers is that we have a base, the framework server, that can't do anything except be extended, and then we have bunches of functionality, such as the jetty web container, that can be added to it. I want this to be not just a theoretical hand waving marketing statement but actually reflected in the code. To me this means that there should be a clearly delineated way to build the framework server with essentially nothing else. Currently this is impractical. You'd have to build a few framework modules, go build the car-maven-plugin, build a few framework configs, build a plugins/classloader plugin, build the rest of the framework modules, build the rest of the framework configs, build the framework plugingroup, build the assembly boilerplate, and finally the framework assembly. IMNSHO this is ridiculous and implies that geronimo is not very agile or easy to deal with, and certainly not easily extensible for other purposes. Someone who wants to build some kind of special purpose server - such as the plugin-farm-node - has to build all of geronimo to get to the few parts they actually want.

Well, you asked for thoughts and comments... ;-)

IMHO this *build-time* structure is "ridiculous" only if the above framework server functionality cannot be achieved at *run-time*. I'd say that what we have and what we can demonstrate is much more than "theoretical hand waving marketing statement". And "actually reflected in the code" would be more accurately described as "actually reflected in our source directory structure". Assuming the runtime aspects are close to right, then becomes a question of some balance of the following aspects:

build experience -- where do we normally run builds from? how many build commands are required? how long does a build take? maven artifact structure -- what's the organization of our released artifacts in maven? release process -- how many separately released artifacts will go into a server release? how many versioned artifacts do we need to keep track of?
etc...


The jsr88 classloader is plugins/classloaders/geronimo-javaee- deployment_1.1MR3_spec. It now has one of our extension classes in it as well as the jsr88 spec.

I have no problem having framework/plugingroups for the framework plugin group, framework/buildsupport for the maven plugin(s) and framework/assembly for the geronimo-framework assembly.

I think this also moves us closer to what I thought was an agreed goal of releasing the plugins separately from the framework and assembled servers.

Personally, it's not a big goal of mine. I think it introduces complexity to the community, without adding much benefit to the community. I do want the basic structure to be there -- allowing additional plugins / assemblies to be built and separately released, if we so desire. However, doesn't mean that I'm eager to break our server release into a number of parts, holding separate release votes, and tracking some number of separately versioned artifacts.

--kevan

Reply via email to