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

Reply via email to