Guillaume,

Think I found the thread you were mentioning. Now I need to learn OBR
as well :-)

Will using OBR via Karaf features solve the problem I'm trying to
solve? What I want to achieve is to create a local repository (under
my Karaf installation) that includes everything needed without having
to search for it in an external maven repository. I want a self
sustained application. Will OBR solve this?

/Bengt

2010/5/6 Bengt Rodehav <[email protected]>:
> See comments below...
>
> 2010/5/6 Guillaume Nodet <[email protected]>:
>> On Thu, May 6, 2010 at 16:02, Bengt Rodehav <[email protected]> wrote:
>>
>>> Regarding the non" mvn:" protocols, I guess I'll either have to stop
>>> using them as part of features or somehow exclude them fromthe
>>> features-maven-plugin and handle them manually. It's a shame though...
>>> Wouldn't it be a reasonable enhancement to the plugin to be able to
>>> skip leading protocols as long as" mvn:" is present further down the
>>> url?
>>>
>>
>> Well, if we do the enhancement i talked about in another thread, which is to
>> let
>> OBR kick in and resolve any missing dependency, then the plugin would not
>> be really helpfull anymore, would it ?
>>
>>
>>>>
>>>> I've totally missed this thread. Will check it out. Do you mean that the 
>>>> alternate solution (OBR...) you mention will render the 
>>>> features-maven-plugin unnecessary?
>>>>
>>>
>>> Regarding maven 3, I think it can only be a matter of timing. Sooner
>>> or later it should/must be supported. I think maven 3 compatibility
>>> should also be added to the "todo list" (JIRA I guess).
>>>
>>>
>> Agreed, but if we can't support both at the same time, i'd rather wait until
>> 3.0 is released.
>>
>>>> I totally understand that. However, I haven't seen that situation before 
>>>> since maven 3 is designed to be totally backwards compatible. Most of the 
>>>> time the problems arise when the plugins use some unsupported/undocumented 
>>>> feature.
>>>>
>>> /Bengt
>>>
>>>
>>> 2010/5/6 Guillaume Nodet <[email protected]>:
>>> > I'm not aware of any effort related to maven 3 yet.
>>> >
>>> > As for the war and ipojo protocols, i don't think it would work well.
>>>  The
>>> > features plugin try to generate a list of bundles using the mvn protocol
>>> > only iirc.  And if you use something else, it won't be able to understand
>>> > and find the required dependencies.
>>> >
>>> > I fear you may run into more problems trying to use the plugin than
>>> > maintaining the feature manually.
>>> >
>>> > On Thu, May 6, 2010 at 14:38, Bengt Rodehav <[email protected]> wrote:
>>> >
>>> >> I also have another problem with the plugin. I don't seem to be able
>>> >> to run it using maven 3 beta. I get the following error:
>>> >>
>>> >> [ERROR] Failed to execute goal
>>> >> org.apache.felix.karaf.tooling:features-maven-plu
>>> >> gin:1.4.0:add-features-to-repo (add-features-to-repo) on project
>>> assembly:
>>> >> Error
>>> >>  populating repository: unknown protocol: null -> [Help 1]
>>> >>
>>> >> Note that I get this error even if I remove all references to "ipojo:"
>>> >> and "war:". It seems to be a completely different problem. The plugin
>>> >> works using maven 2.2.1 but we are in the process of migrating to
>>> >> maven 3 and try to make sure that all our pom's work with the beta
>>> >> version. Do you know if anyone have tried the plugin using maven 3? Is
>>> >> anyone looking into maven 3 support?
>>> >>
>>> >> /Bengt
>>> >>
>>> >>
>>> >> 2010/5/6 Bengt Rodehav <[email protected]>:
>>> >> > Guillaume,
>>> >> >
>>> >> > I think I probably misunderstood how to use the plugin. I wasn't aware
>>> >> > that all dependencies must be added to the maven project. I was hoping
>>> >> > that they could be resolved anyway since they are listed in the
>>> >> > features file. When I add all the dependencies, they will be installed
>>> >> > in my local repo and is accessible to the plugin.
>>> >> >
>>> >> > I've now got almost everything to work expect for the url's that are
>>> >> > not "mvn:". I also use "ipojo:" and "war:" in my features file, e g:
>>> >> >
>>> >> >
>>> >>
>>>  <bundle>war:mvn:se.digia.connect/gui-war/${project.version}/war?Webapp-Context=connect_gui</bundle>
>>> >> >
>>> >>
>>>  <bundle>ipojo:mvn:se.digia.connect/test-route-template/${project.version}</bundle>
>>> >> >
>>> >> > How can I get the features-maven-plugin to work with those? At this
>>> >> > point I'm not actually installing anything in Karaf, which means that
>>> >> > the protocol in front of "mvn:" ("ipojo:" and "war:") should actually
>>> >> > be skipped. Is there a workaround for this?
>>> >> >
>>> >> > /Bengt
>>> >> >
>>> >> >
>>> >> > 2010/5/5 Guillaume Nodet <[email protected]>:
>>> >> >> Not sure to fully understand, but if those are dependencies of your
>>> >> maven
>>> >> >> project, they should be in your local repo, shouldn't they ?
>>> >> >>
>>> >> >> On Wed, May 5, 2010 at 23:02, Bengt Rodehav <[email protected]>
>>> wrote:
>>> >> >>
>>> >> >>> 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]
>>> >> >>>
>>> >> >>>
>>> >> >>
>>> >> >>
>>> >> >> --
>>> >> >> 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]
>>> >>
>>> >>
>>> >
>>> >
>>> > --
>>> > 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]
>>>
>>>
>>
>>
>> --
>> 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