wilx opened a new pull request, #878:
URL: https://github.com/apache/aries/pull/878

   ## Summary
   
   - preserve each fragment header clause when combining it with the host
   - aggregate contributions from every attached fragment
   - add unit and Felix integration coverage for host and fragment 
`osgi.serviceloader` capabilities
   
   ## Root cause
   
   `ProviderBundleTrackerCustomizer` parsed host and fragment headers into 
separate bnd `Parameters` maps and combined them with `Parameters.mergeWith`. 
When both sources contained an `osgi.serviceloader` clause, their independently 
assigned base keys collided and bnd merged their attributes instead of 
retaining two clauses. With overwrite disabled, the host value won and the 
fragment contribution was silently discarded. The loop could also return after 
the first matching fragment, excluding later fragments.
   
   ## Impact
   
   ServiceLoader providers contributed by a fragment were not registered when 
the host already declared a capability in the same namespace. The merge now 
preserves all independent clauses and processes every attached fragment.
   
   ## Testing
   
   - `/opt/maven/latest/bin/mvn clean verify`
   - all 25 SPI Fly reactor modules passed
   - Felix bnd integration tests reported `No Errors`
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to