Hi Kamil, I'm using IntelliJ, including for "business applications", and never find the needs of OSGi integration. I just create my bundle in the IDE, use mvn clean install, and Karaf (with bundle:watch) just update and it's done.
Regards JB On 15/02/2019 14:11, Kamil Paśko wrote: > @Alex, > Thank you, I'll try your solution for a start. > By the way - what is yours "OSGi+Karaf development flow" when working > with bigger project and bigger team? > > @JB, > I'm using Eclipse on a daily basis (I can't stand IntelliJ, sorry > JetBrains :D) and Bndtools workspace is an Eclipse plugin that does very > good job in integrating things together (alhtough have some issues). So > I think I can not compare it to IDE (as it's based on Eclipse) but > rather to other IDE<->OSGi integration. And I found only this one so far. > > @Christian, >> It gives you a similar experience like bndtools once your bundles are > running in karaf > I have a feeling, that taking SpringBoot as an example, which is > integrated very well with Eclipse using Spring STS, having tight > integration between IDE and the tool/framework is really handy. And > Bndtools workspace does exactly that but with Felix+Gogo shell and it > also works really well. That is why I was looking for a way to replace > Gogo shell with Karaf inside my Eclipse IDE > >> I propose you also create a karaf feature in your build > so is it possible to build Karaf feature using bnd? > > > > On Fri, Feb 15, 2019 at 1:10 PM Jean-Baptiste Onofré <j...@nanthrax.net > <mailto:j...@nanthrax.net>> wrote: > > 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> > <mailto: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> > > <mailto:alex.wei...@technolink.lu > <mailto:alex.wei...@technolink.lu>> www.vdl.lu <http://www.vdl.lu> > <http://www.vdl.lu> // > > www.technolink.lu <http://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> > <mailto: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> > <mailto: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 <mailto:jbono...@apache.org> > http://blog.nanthrax.net > Talend - http://www.talend.com > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com