geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: offline deployment?
Date Wed, 04 Jan 2006 18:12:00 GMT

On Jan 3, 2006, at 7:34 AM, toby cabot wrote:

> Hi Folks,
> I guess it's possible that I'm the only person that used offline
> deployment, at least I don't see a lot of people clamoring to bring it
> back.  It's very useful for me, though, so I'd like to find out if
> there's a possibility of bringing it back onto HEAD (and hopefully the
> 1.0 branch, too).  I'll probably need to hack something for my needs
> but I'd just as soon do it in a way that's Geronimo-savvy.

It's definitely something we need in some form.
> From discussion on this list it looks as if the preferred approach is
> to try to use the same approach that the build-time maven plugins do.
> From my naive reading of the code, it looks as if that happens in two
> passes: first the geronimo-packaging-plugin takes a deployable
> resource (ear, war, etc) and generates a configuration archive from
> that, then the geronimo-assembly-plugin moves the car into the
> ConfigurationStore.  The configurations are mentioned in config.xml
> (hand-coded?) which causes them to get started when Geronimo runs.  I
> see notes in the code that the packaging plugin uses the Maven
> repository, so in order to work on machines without Maven I imagine
> that we'd need to use the Geronimo repository instead.
> Is this more-or-less on the right track?  I'd appreciate any tips or
> pointers, especially if I'm about to head off in the wrong direction.

That's about right.  I tried to make both the packaging and assembly  
plugins modular so that the class that does the work accepts  
arbitrary repository and config-store implementations so that all  
that is needed for the offline config-builder or assembler is to  
construct something using the geronimo repo and config store rather  
than the maven ones.  My idea was to control these plugins primarily  
with a properties file, but allowing overrides using command line  
properties.  I recall writing a primitive version of the command line  
packager but never tested it and I'm not sure if I committed it  
before my hard drive broke.

Something similar should work for the assembler.  One question I have  
about this is, where do the dependencies come from?  The maven  
assembly plugin makes sure all the dependencies for the config are  
copied from the maven repo into the geronimo repo.  I guess a command  
line version of this should fail if the dependencies aren't already  
in the repo?  Or should it accept some other repo anyway?  Or use a  
remote maven repo?  I don't know.

One missing piece that perhaps can be added to the assembly plugin as  
well is modification of config.xml.  I suppose a good start would be  
to have a flag that indicates whether the config should be loaded or  
not, and, similarly to the online deployer, either add an element to  
config.xml or set load="true" if the flag says to load the config.

Unless someone twists my arm severely I was planning on looking at  
this again after 2 other items, jetspeed integration and a  
transaction manager patch: if you wanted to get started on this first  
I'd be very happy :-).  Command line tools are not something I know  
how to make useable so I'm sure anything I came up with would need  
editing by others anyway.

many thanks,
david jencks

> Thanks,
> Toby

View raw message