I've been working on the features-maven-plugin some more.  I added a sample 
assemblies-apache-karaf-minimal assembly to show some of what it can do (this 
is the same as the archive-server packaging but not using the packaging itself).

I rewrote the dependency tree analysis in the GenerateFeatureXml2 mojo to use 
aether.  Possibly it could be even simpler but this seems ok for now.

The InstallKars mojo now can install both kars and features.  By default 
bundles listed in features.xml are put into startup.properties.  After 
completing startup.properties, it uses aether to install all the (missing) 
bundles into system.

I don't understand the philosophy differentiating stuff put into system and 
started from startup.properties and stuff put into local-repo and started by 
other means.  IIUC if you do a clean start you will have to reconstruct 
everything you installed not listed in startup.properties, is this correct?

I'm considering making compile scoped features and kars get installed into 
system and startup.properties and runtime scoped features and kars installed 
into local-repo and the features cfg file (so at least the server will still 
know about them after a clean).  Is this reasonable?

Note that the sample apache-karaf-minimal assembly is much much faster than the 
apache-karar assembly.  I would prefer to use the new method.  AFAIK the 
missing piece is the source assembly.  Is this actually useful?  the release 
plugin produces a source archive that seems more than adequate to me.

What else needs to be implemented before we can remove some of the old mojos?
I think we can remove these:
GenerateFeaturesFileMojo
GenerateFeaturesXmlMojo (use feature or kar packaging)
AddFeaturesToRepoMojo  (use archive-server packaging)

I don't understand what this does, can someone explain?
ValidateFeaturesMojo

thanks
david jencks

Reply via email to