I'll take a look at it...

2010/5/6 Guillaume Nodet <[email protected]>:
> Mmh,  I think I misunderstood what you were trying to achieve.
> It's because the plugin can be used to actually generate the feature
> descriptor.
> If you have an existing feature repository, the plugin can be used to put
> all the jars
> in the system folder.  And if this fail for other kind of url handlers, it
> should just do its best and not throw an error.
> Wanna try to modify the plugin to better support your ipojo and war url
> handlers ?
>
> On Thu, May 6, 2010 at 16:28, Bengt Rodehav <[email protected]> wrote:
>
>> 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]
>>
>>
>
>
> --
> 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