I read about the problems of combining karaf and bndtools and thought a
bit about possible solutions.
So if I understood correctly then one issue is that karaf provides quite
a few bundles by default that might then be duplicated by
what the resolver tries to install.
I hope the -distro option can help with that. One other thing we should
try is to use a very slim karaf. There is already a karaf minimal distro
but we can make it even smaller. Using a karaf custom distro we can
strip down karaf to just the framework and the starter of course. Then
the bndtools resolver could do the full provisioning. If there is
interest in it we can
provide such a bare bone distro by default in the karaf project so it is
easy to use by bndtools users.
Another step then would be to provide the karaf contents as an index or
pom so bndtools can provision the needed parts of karaf.
So this should then deliver a good list of runbundles to install.
As far as I know this is currently the only doc of how to combine karaf
and bndtools:
http://enroute.osgi.org/appnotes/bndtools-and-karaf.html
This only provides a way to debug karaf though and it also needs a few
manual steps.
So I wonder how a complete solution would look like.
For debug I think we need to automate starting karaf when pressing debug
and installing the remote agent.
For export we need to do the following:
- Extract karaf bare bone
- Provision the runbundles into the system dir
- Reference the runbundles in startup.properties so they are actually
installed and started
- Add other parts of the bndrun into the respective karaf configs like
system.packages.extra and similar and add the runpath bundles into the
lib dir of karaf.
There will be quite a few things there I guess
Can anyone point me to some documentation how this special behaviour
could be plugged in?
Christian
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com