Add capabilities to Skija libraries to enforce loading fragment#62
Add capabilities to Skija libraries to enforce loading fragment#62HeikoKlare wants to merge 1 commit into
Conversation
Skija fragment contain the actual native libraries for adopting Skia. Those fragments currently need to be explicitly pulled into an OSGi environment to make use of Skija, as the skija-shared library effectly depends on the presence of either of the fragments with the native libraries. This change adds OSGi capabilities to the Skija libraries, such that the skija-shared host always requires one of the fragments to be present. This leads to the fitting fragment for the current platform automatically being pulled into a launch if available.
|
I'm not 100% sure how this is supposed to actually work. The host requires capability |
|
Exactly. I should have posted the description from the SWT use case here as well instead of just referring to eclipse-platform/eclipse.platform.swt#3231 (comment):
|
- The MavenBND.target needs an additional excluded dependency to provide the Require-Capability during the BND build. #62
|
Closing in favor of the enhanced details of the other PR. |
Skija libraries are split into the skija-shared host and the actual native libraries for adopting Skia wrapped into fragments. Those fragments currently need to be explicitly pulled into an OSGi environment to make use of Skija, as the skija-shared library effectly depends on the presence of either of the fragments with the native libraries.
This change adds OSGi capabilities to the Skija libraries, such that the skija-shared host always requires one of the fragments to be present. This leads to the fitting fragment for the current platform automatically being pulled into a launch if available.
I am not sure how such a capability should be defined best, and I am also not sure if such a dependency between fragment and host may in any way be problematic. I locally patched the bundles/fragments in my bundle pool with these changes and the SWT Skia prototype with its tests (see eclipse-platform/eclipse.platform.swt#3231) worked fine then. See also eclipse-platform/eclipse.platform.swt#3231 (comment) for some context of this change as probably required for the SWT Skia adoption.