[roll] Roll fuchsia [ffx] Lazy initialization and refactor of fhoEnvironment

This refactors FhoEnvironment to position it for
refactoring the daemon dependencies out of the fho crate to
improve build times for tools that do no use overnet.

There are several small changes of note:

 * Making the members of FhoEnvironment private and adding
   getters and setters as needed.

 * Adding `new_for_test` method to allow initialization of all
   members.

 * Moving FhoEnvironment and referenced traits to fho_env.rs.

 * Moving TryFromEnv trait and std implementations to try_from_env.rs.

 * Changing lazily initialized members to be reference only
   locally defined traits, and wrapping in Arc<RwLock<> for
   internal mutability.

 * Wrapping lazily initialized members in Option<>.

 * Initializing the behavior and lookup members as needed from
   TryFromEnv implementations which require these members.

Follow-up CLs will move TryFromEnv implementations to where the
data types are defined, removing many dependencies from the Fho crate.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1179955
Original-Revision: aaee3a4ee138e26a7ecddda05f1a7df1c3add1bf
GitOrigin-RevId: ced2d8e3c64333ae4b34a3bf54ab5e8aebfb0835
Change-Id: I408b0773a46d6386b11381c6db980d158d104e68
1 file changed
tree: 1194e82b02f867da11ca009771269347d8d0590a
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

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.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.