Requirement-Capability Model Library
- Vorherrschende Sprache
- C
- Sterne
- 193
- Forks
- 99
- Ø Merge
- 1 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Add a Requirement-Capability-Model (RCM) library that can replace the current requirement-capability model in the framework lib.
The current (2.3.0) requirement-capability model works on globals and is not reentrant. A new requirement-capability model can be made as a separate (Apache Celix specific) library, which can be used in the framework lib.
The goal of the RCM library should be to provide functionality for:
- [x] Basic Resource dependency model (chapter 3.3, OSGi 8 spec)
- [ ] (Bundle) Wiring of the capability requirement model (Chapter 6 & 7, OSGi 8 spec)
- [ ] Req-Cap resolving, to resolve per resource the requirement based on capabilities from other resources
Note that the functionality can be implemented with multiple pull request (base, wiring, resolving)
The RCM library will then be used in helping to resolve bundle modules and this includes handling Export-Library / Import-Library statements in the bundle manifests.
The RCM resolving does not replace "dlopen" / linking, but will provide the framework library with information (wiring) which Export-Library satisfies which Import-Library (if any).
The RCM library can also be used to resolve "generic" requirement / capability manifest statements, for example:
```
Provide-Capability: osgi.extender;
osgi.extender="celix.http";
uses:="celix.http_admin_service";
version:Version="1.0.0"
```
```
Require-Capability: osgi.extender;
filter:="(&(osgi.extender=celix.http)(version>=1.0)(!(version>=2.0)))"
```
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Bewertung
Dieses Issue wurde noch nicht bewertet.