We actually have a maven plugin that helps in doing that.
Take a look at how we package ServiceMix NMR or the full ServiceMix
distribution.
It's based on Karaf, but includes some changes and additional bundles
configured
using features.   It sounds exactly like what you want.
   http://svn.apache.org/repos/asf/servicemix/smx4/nmr/trunk/assembly/

The plugin could be enhanced to make this task easier though, but it's still
a good
starting point.  The final packaging and other changes are done using the
maven
assembly plugin.   Any help / suggestion / patch would be welcomed !

As for maven, two things:
  * first, if a bundle can be located in the system folder, it won't try to
find it in any
    other maven repository, even for a snapshot
  * second, the list of repositories where the maven url handler can
download the
    artifacts from can be configured in etc/org.ops4j.pax.url.mvn.cfg
I agree i would not let artifacts be downloaded from the internet either.  A
nice configuration
would be to point to a nexus repository manager and the work there.


On Wed, May 5, 2010 at 11:18, Bengt Rodehav <be...@rodehav.com> wrote:

> I'm building an integration platform using Camel deployed in Karaf.
> The platform will be used for different kinds of applications (mainly
> integration oriented of course). I'm not entirely sure how I best
> construct an installation program for these applications. Basically I
> need to:
>
> a) Install Karaf. This is as easy as unpacking a zip file - very
> convenient.
> b) Configure Karaf. I will change some of the configuration files and
> add some. This is not hard.
> c) Install the bundles needed for my application. This is where I need
> some advice.
>
> My bundles are installed in two ways: via startup.properties and via
> features defined in org.apache.felix.karaf.features.cfg. The bundles
> in startup.properties refer to its location in the folder "system"
> under the Karaf installation. I will probably define an additional
> folder where I will put bundles that I add to startup.properties. This
> is to clearly distinguish between the standard Karaf installation
> (which I want to be able to upgrade easily) and my application
> specific bundles. Don't know how I do this but I imagine it is
> configurable somehow.
>
> However, most of my required bundles are installed as Karaf features
> via maven (the url's begin with mvn:). In a development environment
> this is very convenient. In a production environment I do not want my
> application to go out on the Internet looking for bundles. I want it
> to be totally self sustained. In other words, I want my installation
> to contain (in a subfolder to the Karaf installation) all the needed
> jars/bundles. My problem is how do I generate a folder containing all
> my required bundles from a list of features (with the "mvn:" url)?
> Ideally I would list the features I want and then automatically
> generate a folder containing all the referred bundles. I would then
> include this folder in my installation.
>
> Has anyone solved this problem (going from development to production
> using Karaf)? What is best practice?
>
> /Bengt
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
> For additional commands, e-mail: users-h...@felix.apache.org
>
>


-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to