It seems like the features-maven-plugin is exactly what I'm looking
for. However I do run into one problem. I'm using a repository manager
(Nexus) but the features-maven-plugin seems to only look in the locak
repository (which doesn't contain everything). I get the following
error message:

 [INFO] [features:add-features-to-repo {execution: add-features-to-repo}]
Base repo: file://C:/dev/Maven/repository
Copy:      commons-pool/commons-pool/1.5.4/commons-pool-1.5.4.jar
Copy:      org/apache/felix/karaf/shell/org.apache.felix.karaf.shell.ssh/1.4.0/o
rg.apache.felix.karaf.shell.ssh-1.4.0.jar
Copy:      org/springframework/osgi/spring-osgi-annotation/1.2.0/spring-osgi-ann
otation-1.2.0.jar
Copy:      org/ops4j/pax/web/pax-web-api/0.7.2/pax-web-api-0.7.2.jar
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error populating repository

Can I configure the plugin to use Nexus instead? It's a bit strange
because first everything is being downloaded to Nexus (due to the
dependencies I've added), but then when the plugin kicks in and the
repository is about to be created, only the local repo is being
searched.

Any ideas?

/Bengt


2010/5/5 Bengt Rodehav <[email protected]>:
> Thanks a lot Guillaume - I will definitely take a look at the plugin
> you mentioned.
>
> /Bengt
>
> 2010/5/5 Guillaume Nodet <[email protected]>:
>> 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 <[email protected]> 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: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>>
>> --
>> Cheers,
>> Guillaume Nodet
>> ------------------------
>> Blog: http://gnodet.blogspot.com/
>> ------------------------
>> Open Source SOA
>> http://fusesource.com
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to