It’s hard to say the root cause without checking in your project. However, I still doubt it’s caused by a change between Karaf 4.3.0 and 4.3.1 at runtime level. I think it’s build time related (build/MANIFEST, features, custom assembly, …).
I will try to find some time during the week end to take a look on your projects. Regards JB > Le 10 avr. 2021 à 08:28, Steinar Bang <[email protected]> a écrit : > >>>>>> Jean-Baptiste Onofre <[email protected]>: > >> Even if the code don’t change, changing the maven plugin can change the >> generated MANIFEST. > > Yes, but that's the maven-bundle-plugin...? > Because that doesn't change between work and not work. > > Or does the karaf-bundle-plugin also touch the manifest? > I thought I used it only for feature generation? > >> For instance, "old" maven plugin version didn’t generate requirement header. > > Right. I have been using various versions of the maven-bundle-plugin in > the projects (basically, the newest version when I started the project). > > I bumped them all to 5.1.1 a little while back, as part of a cleanup > prior to moving to karaf 4.3.x (bumped maven plugin versions, and junit > jupiter versions, mockito, assertj, etc. ie. anything related to tests), > and cleaned up and removed all unneccessary dependencies I could find (a > lot of cut and past in maven config when creating new projects...). > > But I have tested each step, i.e. tested that the feature still loads > after the change. And all features now have a pax exam feature load > test (because they are now simple). > > And those tests all started failing when moving from 4.3.0 to 4.3.1 for > all bundles that somehow referenced LogService. > > Of course moving from 4.3.0 to 4.3.1 also affected the karaf runtime > used in the pax exam tests, so maybe what I saw wasn't a change in what > was built, but instead a change of running what I have on karaf 4.3.1...? > >> Another possible change is about the feature namespace you use. If you use >> feature xmlns 1.3 or 1.4, services requirement are checked. It’s not the >> case with previous namespace version. > > Hm... some feature repos have templates, and some of them have > namespaces, I think...? Some of the templates do not have namespaces, I > think...? > > What does the karaf-maven-plugin do with namespace on the template? Keep > it? Replace it? > > Some feature repos are completely generated by the karaf-maven-plugin > and they will get whatever namespace the plugin decide to use. > > Many of my multimodule projects also have a handwritten aggregate > feature repo. If the aggregate feature repos a have namspace it's > probably an old one that have been copy/pasted to newer projects. > >> It’s control by the serviceRequirements property in >> etc/org.apache.karaf.features.cfg. We use "default" by default ( ;) ), >> meaning that service requirements are ignored for old features namespace. > > Hm... are you saying that if my feature repos use an old features > namespace, karaf 4.3.1 doesn't see that the feature needs the > LogService? >
