Aighty, well... I've done some long awaited re-factoring, and while its still not _perfect_ its a whole lot better now IMO I think from a framework perspective that its probably mature enough to take on the task of being the server bootloader.

I'm going to continue to refactor the guts of GShell over time, of course... but I think that what is there now is highly usable for a simple platform independent launcher, as well as for porting over the other cli bits we have.

I've done a lot of work in the past week, incase you didn't see the storm of scm messages... pulled out pico, plopped in plexus, pulled out commons-logging and commons-lang, which are suck and boated (in that order). I've gotten the basic framework and supported classes to use GShell down to ~ 1mb (a wee bit under)... though when I started to add the layout.xml abstraction stuff, I had to pull in xstream which bloated her back up to ~1.4m. I may eventually fix that... or not, cause xstream is soooo very handy for xml -> object stuff.

I've fallen in love with annotations... they are *ucking great. They work really well for handling the cli option and argument muck which most every command needs to do. And striping out the insano-sucking commons-cli really simplified command implementations dramatically IMO.

Anyways... I've make a heck of a lot of progress on cleaning up the GShell framework... and more is to come I'm sure... But for now, I think its probably ready for use primetime as the Geronimo Server's bootloader.

I think this provides a some significant value...

1) Platform scripts become consistent and relatively simple, easy to maintain

2) Everyone will now have a consist way of launching the server, even if you like a .sh, .bat, or java -jar, then end process that is launched will be the same for everyone.

3) Opens up the door for some really nice and fancy fancy management muck (like restarting the server from the web console, or cloning a server instance or backing up a server instance...)

4) Lays the ground work for future features, like cluster management, remote administration and scripting...

 * * *

So, I think its time to decide... are we a go or no go for GShell as the core CLI for Geronimo thingys and even more important, are we go or no go for using GShell to boot up the server process?

--jason

Reply via email to