I have the feature whereby you can specify a set of plugins in a
geronimo server and extract a server containing only those plugins
and their dependencies working from gshell. There are some rough
edges some of which I'm not entirely sure how to fix. It would be
great to get some testing and feedback on this before 2.1 goes out.
1. You have to include the boilerplate configuration explicitly in
your list of desired plugins. If you don't, the bin/ stuff and
suchlike won't be there. This plugin sets up quite a bit of the
basic file structure of the server. I'm currently thinking of trying
to split this up into support for the basic server, client, gshell,
and corba specs and having dependencies from various other modules on
them. I'm not sure how this will work but it might also help shrink
the framework server.
2. you have to specify the plugins you want all at once using numbers
from a list presented to you. This is pretty limiting. We could
have a separate "package" command and let you run the "add plugins to
assembly" part multiple times before packaging the result. Also it
would be good for scripting to be able to supply the list of plugins
by artifactId rather than a fairly meaningless number.
3. if you don't supply the required info about the artifactID of the
assembled server you should be prompted for it.
4. We might want to support assembling a server using any collection
of plugin repositories, not just the current server.
5. there's no admin console page for this function. I'd like to try
to write one but since my web development skills are somewhere near 0
I might need some help.
6. Right now the assembled server is left sitting in var/temp. It
might be worth trying to deploy to the local maven repo.
7. The plugin functionality is a nontrivial amount of code, so its
probably a good idea to put it in a separate jar from geronimo-system
and give it its own configuration so you can have a server without it.
Comments on these ideas and the functionality itself would be
appreciated.
BTW the gshell command looks like this:
deploy/assemble -g org.foo -a test-server -v 1.0-SNAPSHOT
where -g is the groupId (currently not used)
-a is the artifact id
-v is the version
-f is the format (zip or tar.gz)
-t is the assembly location (default var/temp/assembly)
thanks
david jencks