On Jul 19, 2007, at 11:38 PM, Donald Woods wrote:

Sounds like a good idea, but does this help or hurt us as far as trying to automatically generate the geronimo-plugins.xml after a build? Seems like keeping multiple releases in one XML file is going to become a PITA after a couple of releases....

Why not create a separate geronimo-plugins.xml for each major release stream (like 2.0/2.0.x and then 2.1/2.1.x)? Wouldn't that be easier to maintain, especially if we reorg the modules/configs in 2.1 for the new pluggable admin Portlets and move unnecessary code out into optional plugins....

Excellent points. The new schema would still support the configuration you describe where there is one catalog per version of Geronimo. Its main advantage is that it does not constrain repositories to that approach. For example, I suspect that non-ASF repos like at http://geronimo.liferay.com/plugins would take advantage of the new schema since I doubt they want to maintain a catalog for every version of Geronimo. David Jencks has also started some very interesting work with using a local maven repo for a plugin repo which may end up benefitting from the new schema as well.

If Geronimo's plugin feature is a success then I think there will be lots of catalogs scattered around the net besides the catalog we maintain for whichever parts of the Geronimo server itself we decide to implement as plugins.

So then the real question in my mind is less centered on whether or the schema needs more work. The question becomes whether or not the Geronimo project itself should continue maintaining version-specific catalogs for its plugins or consolidate them using the new schema.

You pointed out some advantages of version specific catalogs that I hadn't thought about: - catalogs for specific branches of the server could be automagically generated at build time
-  smaller, more focused XML files are easier to maintain (?)

Some disadvantages of that approach:
- redundancy across catalogs, updating the metadata for a plugin could require updating many catalogs - it's more difficult to "advertise" your repository URL since it is version specific - creating a new catalog each time we release a new version of Geronimo is tedious[1] - plugins factored out of server trunk would have to stay in version- synch with Geronimo server

That last item is hard to explain, and is sort of the converse of that last point you made. Which means that we probably have different ideas about how the plugins will be factored out. That is bound to be a very interesting discussion :-)


Best wishes,
Paul

[1] http://tinyurl.com/yvqlpz

Reply via email to