Apache Celix Dependency Manager

The Dependency Manager subproject provides an API based method for declaring components and their dependencies. Dependencies can be defined as optional or required, and the DM takes care of the component life cycle based on the availability of the dependencies.

Dependencies are injected into the component using callback functions or via a field of a struct.


To build the Dependency Manager the CMake build option "BUILD_DEPENDENCY_MANAGER" has to be enabled.


The Dependency Manager depends on the following subprojects:

  • Framework
  • Utils

Also the following libraries are required for building and/or using the Dependency Manager subproject:

  • Apache Portable Runtime (build and runtime)