Perhaps no one would be surprised that I think this is a good idea :-) david jencks
> On Mar 17, 2016, at 9:06 AM, Christian Schneider <[email protected]> > wrote: > > I see the issue for blueprint as it is quite heavy weight. > Scr on the other hand is just one bundle. > > Christian > > On 17.03.2016 16:58, Morgan wrote: >> I only see one problem. >> JB wants to keep a normal/default distro where scr could have a place in the >> distro and also a minimal distro without scr so I don't know how you would >> deal with that? >> >> On 2016-03-17 16:43, Christian Schneider wrote: >>> We currently use some custom Activator base classes to wire the karaf >>> bundles. The goal of this was to avoid depending on blueprint >>> as it is a quite heavy dependency and makes it harder to use a different >>> blueprint impl or version. >>> >>> There are some problems with this approach though: >>> - It makes it harder for new people to understand what we are doing >>> - The custom code is more error prone than a proven framework >>> >>> So I propose to switch our own bundles to use DS to expose and wire >>> services. >>> >>> There are some advantages: >>> - The DS annotation approach is easier to understand and more self >>> documenting than the custom code >>> - We get rid of the classes in util for the custom code >>> - The scr commands help diagnose problems >>> >>> The main cost is that we need to always install the felix scr bundle. >>> >>> To prove that it can work I switched bundle core in a branch >>> https://github.com/apache/karaf/tree/EXPERIMENTAL_DS . >>> The DS based code works quite nicely. >>> >>> Btw. I found a small problem with our shell command extender. It only seems >>> to work on all commands or none. If there is any required service missing >>> then none of the commands is installed. >>> This made it hard for me to diagnose problems as I was missing all bundle >>> commands ;-) >>> So while working on the switch I thought about two improvements to the >>> extender: >>> 1. Work on each command individually. So each command can activate as soon >>> as the deps are met >>> 2. Provide a service and commands to diagnose problems like the scr commands >>> >>> Christian >>> >> > > > -- > Christian Schneider > http://www.liquid-reality.de > > Open Source Architect > http://www.talend.com >
