I agree with Christian, it makes more sense with Karaf.

I think that the new "Karaf tooling" will also bring new options.

Regards
JB

On 15/02/2019 13:03, Christian Schneider wrote:
> I agree with Alex about using bundle:watch. It gives you a similar
> experience like bndtools once your bundles are running in karaf.
> To get the bundles running easier I propose you also create a karaf
> feature in your build.
> 
> I also propose you move away from the bndtools workspace model and
> instead use the maven build of bndtools like enroute now shows. It is
> much nearer to how karaf projects are built.
> 
> One other thing that might come handy is to start karaf with the "debug"
> argument. This opens karaf for remote debugging and allows you to also 
> debug your bundles easily. Basically it is like running the bndtools
> starter in debug mode.
> 
> Christian
> 
> Am Fr., 15. Feb. 2019 um 12:55 Uhr schrieb Alex Weirig
> <alex.wei...@technolink.lu <mailto:alex.wei...@technolink.lu>>:
> 
>     Hi Kamil,
> 
>     let me try and see if this can already help you, it's very basic but
>     works really fine depending on the scope / size of your development
>     project ... this is based on bnd(tools) 4.0.0 but should still be
>     valid in 4.1.0 I guess.
> 
>     If you look at your build.bnd file in your bndtools workspace, make
>     sure you have the following plugin defined:
> 
>     -plugin.5.LocalMaven: \
>         aQute.bnd.repository.maven.provider.MavenBndRepository; \
>             name = *LocalMaven*
> 
>     then you define the buildRepo:
> 
>     -buildrepo: \
>         *LocalMaven*
> 
>     finally set some maven data:
> 
>     -pom: \
>         groupid    =    *your.group*,\
>         version =    ${versionmask;===;${@version}}-SNAPSHOT
> 
> 
>     Now when bnd(tools) builds your project it should end up in your
>     local maven repository (your home
>     folder/.m2/repository/*your/group*). So no need to gradle here.
> 
>     You can now run a karaf on your local machine and install your
>     bundles using:
> 
>     bundle:install mvn:your.group/your bundle name here/version here
> 
>     as you're doing right now.
> 
>     Now you can tell karaf to monitor your bundles:
> 
>     bundle:watch --start *
> 
>     Thus, whenever you change any line of code in your Eclipse,
>     bnd(tools) will compile the code, build the bundle and deploy it to
>     your local maven repo. Karaf will notice the change and update the
>     bundle to the latest version. You can return to karaf and
>     immediately test your updated code.
> 
>     I find this is a really nice and efficient way to do development
>     without too much overhead (well you need to run the bundle:watch
>     --start * after every restart of karaf but maybe there's also a way
>     to work around it.
> 
>     You don't have to deal with maven (which I am convinced is more of a
>     problem than a solution), except for setting your groupid and
>     version pattern and having the build bundles deployed in your local
>     maven repository.
> 
>     I'm sure this is not a valid approach if you're working with a large
>     team where everybody needs to rely on somebody else's code and you
>     have a complete CI chain etc etc.
> 
> 
>     You can improve deployment by building a karaf feature
>     (https://karaf.apache.org/manual/latest/provisioning), that's merely
>     an xml file using your local maven repo to retrieve the bundle.
> 
>     You create your feature_file.xml, copy it to the "deploy" folder in
>     karaf and then run a feature:install your_feature_name to install
>     one of the features containing the different bundles.
> 
>     Hope it helps ... hope it is not too basic for your needs.
> 
>     Mat frëndleche Gréiss, Mit freundlichen Grüßen, Meilleures
>     salutations, Kind regards,
>     Alex Weirig
>     Responsable Technique Ville de Luxembourg Service Enseignement
>     Centre Technolink *Tel* +352 4796 - 6127 <tel:+35247966127> *Fax*
>     +352 42 88 81 *Email* alex.wei...@technolink.lu
>     <mailto:alex.wei...@technolink.lu> www.vdl.lu <http://www.vdl.lu> //
>     www.technolink.lu <http://www.technolink.lu> Centre Technolink 2,
>     rue Charles de Tornaco L-2623 LUXEMBOURG
> 
>     On 15/02/2019 12:29, Kamil Paśko wrote:
>>     Dear JB,
>>
>>     > Do you already know what you have in mind (if you could describe
>>     the use
>>     case, that would be great) ?
>>
>>     I know that this could be silly problem, but I'm new to Karaf, new
>>     to Bndtools and new to OSGi (I begun my research week ago).
>>     That is why I decided to search for tutorials and examples first. 
>>     But if you ask (it's very kind), then I have two use cases:
>>
>>     Case 1:
>>     Background:
>>     I've learnt how to use Bndtools workspace in Eclipse and how to
>>     run examples directly in Eclipse IDE
>>     (https://bndtools.org/tutorial.html).
>>     Unfortunatelly, default OSGi runtime is Felix with Gogo shell.
>>     Problem:
>>     How to configure Bndtools workspace to use Karaf (that I have
>>     somewhere in my filesystem) instead of default Felix runtime?
>>
>>     Case 2:
>>     Background
>>     I've learn how to use Bnd Gradle plugin
>>     
>> (https://github.com/bndtools/bnd/tree/master/biz.aQute.bnd.gradle#replacing-use-of-gradles-deprecated-osgi-plugin)
>>     to create bundles and I used Gradle's maven publish plugin to
>>     publish them to Maven's local repo. Then I install them in Karaf
>>     one by one using bundle:install mvn:xxx/yyy/zzz command
>>     Problem:
>>     a) How to create set of bundles (feature) in Bnd?
>>     b) How to deploy this to Karaf without manually executing
>>     bundle:install commands?
>>
>>     Thank you in advance,
>>     Kamil
>>
>>
>>     On Thu, Feb 14, 2019 at 1:37 PM Jean-Baptiste Onofré
>>     <j...@nanthrax.net <mailto:j...@nanthrax.net>> wrote:
>>
>>         Hi,
>>
>>         We didn't move forward a lot. I remember there was some
>>         discussion to
>>         have a "Karaf exporter" in bndtools and I proposed my help on
>>         this.
>>         I didn't move forward yet.
>>
>>         Do you already know what you have in mind (if you could
>>         describe the use
>>         case, that would be great) ?
>>
>>         Regards
>>         JB
>>
>>         On 14/02/2019 13:20, kamilantlgc wrote:
>>         > Dear Karaf User group,
>>         >
>>         > I have stumbled upon the exact problem - how to join Karaf
>>         and Bndtools
>>         > together "the right way" (this conversation is the first
>>         result in Google by
>>         > the way: https://www.google.com/search?q=karaf+bnd).
>>         >
>>         > I've read the topic and was happy to see that Guillaume
>>         asked to fill Jira
>>         > issue.
>>         > Then I've read with interest that JB is just "building the
>>         new SNAPSHOT to
>>         > test if the couple of issues".
>>         > And then I navigated to the issue created by dleangen
>>         > (https://issues.apache.org/jira/browse/KARAF-4160) just to
>>         see that it's
>>         > status is "Won't fix"...
>>         >
>>         > Anyway - does anybody on this group already figured it out
>>         how to join Karaf
>>         > and Bnd to play nicely together?
>>         >
>>         > Kind regards,
>>         > Kamil
>>         >
>>         >
>>         >
>>         > --
>>         > Sent from:
>>         http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html
>>         >
>>
>>         -- 
>>         Jean-Baptiste Onofré
>>         jbono...@apache.org <mailto:jbono...@apache.org>
>>         http://blog.nanthrax.net
>>         Talend - http://www.talend.com
>>
> 
> 
> -- 
> -- 
> Christian Schneider
> http://www.liquid-reality.de
> 
> Computer Scientist
> http://www.adobe.com
> 

-- 
Jean-Baptiste Onofré
jbono...@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to