[roll] Roll fuchsia [ffx][errors] Refactoring ffx/lib/errors

This refactors s/d/ffx/lib/errors removing the dependencies on
FIDL. This is done by introducing a new enum, FfxTargetError in its
own crate to handle mapping the FIDL error to a non-FIDL generated error
type so traits can be derived (such as thiserror::Error).

The err member of `FfxError` is changed to be a Boxed trait for
getting the error messasge and the exit code.

This change is being done to improve the build time of the platform,
so that tools that are used in the build do not need to depend
indirectly on libraries such as target, FIDL and related communication
libraries.

The near term benefit will be tools that do not communicate
with the Fuchsia device will not depend on target communication related
libraries, such as the ffx daemon, overnet, et. al.

This is the first refactor in a series to realize this benefit by
pushing down target related error handling into the target crate and
make the high level error library more abstract.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1159515
Original-Revision: 665ce262bb869261b527b8031c293d4f94c0a444
GitOrigin-RevId: 50081b7c0f29f9542c74ca639b8bb70f601aaeb6
Change-Id: I69e299c647708a3c152a04a5471123cd4d033217
1 file changed
tree: 8fe6b00d47d2147e821a6a6261b6c59d4bee4f78
  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.