We are currently determining the BundleState for SCR similar to blueprint and spring.
A bundle is shown as waiting when a component is missing any service or config. https://github.com/apache/karaf/blob/master/scr/state/src/main/java/org/apache/karaf/scr/state/ScrBundleStateService.java For diag I think this is totally fine but I think it often looks strange in the bundle list "la". At least in sling but I think also in many other declarative services based projects service dependencies or config dependencies are often used as a kind of feature toggle. So you might want to switch a backend or enable / disable functionality by adding or removing config. In this case it is strange when the bundle is listed as waiting while in effect it is behaving completely normal. So I see two ways of improving this: 1. Treat BundleState differently for scr and never report waiting because of missing scr deps. This would require some ugly special handling. 2. Simply show both the OSGi bundle state as well as the state from BundleState service as two different columns in la. We could name the column "diag state" or "injection state" to distinguish from the OSGi bundle state. WDYT? Christian -- -- Christian Schneider http://www.liquid-reality.de Computer Scientist http://www.adobe.com
