Bug: 73965132

Clone this repo:
  1. 64dfaad Upgrade google-fruit to 4ded6e2e54e94b140d60e95cc10027a882e9c536 by Haibo Huang · 5 weeks ago master
  2. 4ded6e2 Migrate tests to absl.testing, mainly to make Bazel test sharding work. by Marco Poletti · 5 weeks ago upstream-master
  3. 9d6c3af No longer mention Bazel's --python_path=/usr/bin/python3 arg in the documentation, it's no longer required. by Marco Poletti · 5 weeks ago
  4. 1201945 Print the env for commands executed in tests, to help debugging env-related issues. This is mainly useful for Bazel due to sandboxing. by Marco Poletti · 5 weeks ago
  5. 32ac073 Fix test failures in Bazel when using sandboxing. by Marco Poletti · 5 weeks ago

Build Status Build status Coverity Scan Status CII Best Practices

Fruit is a dependency injection framework for C++, loosely inspired by the Guice framework for Java. It uses C++ metaprogramming together with some C++11 features to detect most injection problems at compile-time. It allows to split the implementation code in “components” (aka modules) that can be assembled to form other components. From a component with no requirements it's then possible to create an injector, that provides an instance of the interfaces exposed by the component.

See the wiki for more information, including installation instructions, tutorials and reference documentation.