[roll] Roll fuchsia [component_manager] More extensible framework for builtin components component_manager has a builtin runner which is used for running "builtin components", i.e. components whose source code lives in component manager itself. elf_runner is one (and the only) builtin component today. For microfuchsia, we would like to run shutdown-shim and devfs in component manager as builtin components as well. It turns out though that the current implementation of builtin runner is a bit inflexible for expanding to more components. To this end, this change is a refactor which does the following: - Introduces a [BuiltinProgram] type that represents the state of a builtin program. As one of its arguments, [BuiltinProgram] contains a [BuiltinProgramFn], which is a callback that runs the builtin component's code. - Make the ABI for builtin components more similar to non-builtins. Builtin components accept a subset of procargs, including namespace, out dir, lifecycle channel, etc. This will facilitate porting non-builtin components to builtins. - [BuiltinProgram] has a universal [Controller] implementation which integrates with the Lifecycle control channel. - Refactor elf_runner to use [BuiltinProgram]. elf_runner now uses the Lifecycle control channel instead of its own Controller implementation. - builtin_runner now supports dependency injection for tests. Unit tests can bring along their own builtin components. Original-Fixed: 372527480 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1134697 Original-Revision: c75fe7d73b0629e985c171c64d14da21933af73c GitOrigin-RevId: 98280ddbe41c3323c270b6e40628c312136fb8a4 Change-Id: Ib2caa66cab24493d43f16f52c3d2f1fb823704a5
This repository contains Fuchsia's Global Integration manifest files.
All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.
Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance in one of the communication channels documented at get involved.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.