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?
> 

Reply via email to