OSGi R8 - Add support for satisfying condition

For R8 the DS specification adds support for the condition service by
adding a default reference named "osgi.ds.satisfying.condition" which
requires the condition with osgi.condition.id=true (i.e. the "true"
condition published by R8 Core framework).

The assumption is if this "true" Condition service exists and is
published by the system bundle then it will always be available for the
lifetime of the active framework.  If the "true" Condition service is
found then SCR must automatically add a reference to the "true"
condition using the reference name "osgi.ds.satisfying.condition".  The
component property "osgi.ds.satisfying.condition.target" can be used to
override the default target for matching the true condition
"(osgi.condition.id=true)".
16 files changed
tree: a24324338570f9106d3d8814fa49666034e08e08
  1. bundlerepository/
  2. bundlerepository.osgi-ct/
  3. cm.json/
  4. configadmin/
  5. configadmin-plugins/
  6. configurator/
  7. connect/
  8. converter/
  9. coordinator/
  10. dependencymanager/
  11. deploymentadmin/
  12. deviceaccess/
  13. doap/
  14. eventadmin/
  15. examples/
  16. fileinstall/
  17. fileinstall-plugins/
  18. framework/
  19. framework.security/
  20. gogo/
  21. healthcheck/
  22. http/
  23. httplite/
  24. inventory/
  25. io/
  26. ipojo/
  27. jaas/
  28. jmood/
  29. jmxintrospector/
  30. log/
  31. log.extension/
  32. logback/
  33. main/
  34. main.distribution/
  35. metatype/
  36. metrics/
  37. mishell/
  38. mosgi/
  39. org.apache.felix.daemon/
  40. org.osgi.service.obr/
  41. pom/
  42. prefs/
  43. resolver/
  44. rootcause/
  45. scr/
  46. scr-compat/
  47. scr-ext-anno/
  48. shell/
  49. shell.gui/
  50. shell.gui.plugin/
  51. shell.remote/
  52. shell.tui/
  53. systemready/
  54. threaddump/
  55. tools/
  56. transaction/
  57. upnp/
  58. useradmin/
  59. utils/
  60. webconsole/
  61. webconsole-l10n/
  62. webconsole-plugins/
  63. wireadmin/
  64. .gitignore
  65. check_staged_release.sh
  66. CODE_OF_CONDUCT.md
  67. CONTRIBUTING.md
  68. LICENSE
  69. README.md
  70. stage_existing_artifact.sh
README.md

Apache Felix

The Apache Felix project is a collection of semi-related OSGi sub-projects that build and release individually.

Felix Framework

The flagship project is the Apache Felix Framework which implements the OSGi Core R7 specification. The /framework directory contains the source and build tree for the OSGi-compliant framework implementation.

Directly related projects:

  • main /main* - provides an executable jar that launches the Felix framework.

OSGi Compendium

Several sub-projects cover various OSGi Compendium specifications such as:

Extra Features

Several projects provide extra features to an OSGi runtime.

  • bundle repository /bundlerepository - Bundle repository service.
  • connect /connect - A service registry that enables OSGi style service registry programs without using an OSGi framework.
  • dependency manager /dependencymanager - A versatile java API, allowing to declaratively register, acquire, and manage dynamic OSGi services.
  • fileinstall /fileinstall* - A utility to automatically install bundles from a directory.
  • gogo /gogo - A command line shell, runtime and set of base commands for interacting with and introspecting an OSGi framework.
  • health checks /healthcheck/* - An extensible framework to monitor the status of the OSGi container at runtime. (contains systemready)
  • inventory /inventory - Provides some mechanisms to get the current state of the system and therefore provides an inventory of the system.
  • ipojo /ipojo - A service component runtime aiming to simplify OSGi application development.
  • jaas support /jaas - Bundle to simplify JAAS usage within OSGi environment.
  • logback /logback - A simple integration of the OSGi R7 Log (1.4) service to Logback backend.
  • OSGi metrics /metrics/osgi - Collecting and publishing metrics related to OSGi applications
  • rootcause /rootcause - Finding the root cause of problems with OSGi declarative services components.
  • utils /utils - Utility classes for OSGi (intended for embedding within other bundles.)
  • webconsole /webconsole* - Web Based Management Console for OSGi Frameworks.
  • and many other OSGi things

Build tools

The /tools directory contains various build tools.

  • maven-bundle-plugin /tools/maven-bundle-plugin - A maven plugin for building OSGi bundles.
  • osgicheck-maven-plugin /tools/osgicheck-maven-plugin - Maven plugin for checking several OSGi aspects of your project.