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 < [email protected]>: > 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 WeirigResponsable Technique > Ville de Luxembourg > Service Enseignement > Centre Technolink > *Tel* +352 4796 - 6127 <+35247966127>*Fax* +352 42 88 81*Email* > [email protected] // 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é <[email protected]> > 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é >> [email protected] >> http://blog.nanthrax.net >> Talend - http://www.talend.com >> > -- -- Christian Schneider http://www.liquid-reality.de Computer Scientist http://www.adobe.com
