[botanist] Refactor

Botanist has grown unwielidy over the past ~year and so this change
returns it to a more manageable and scalable state. Much of the weight
loss is due to the removal of log support in the multi-device case, which -
interestingly - has not been used at all or relied upon since its introduction!
(Indeed, we are creating files (with %d suffixes that we have up front
not registered as task outputs, and so they never get shipped back to
the recipe).)

Also removed was botanist's care for not having streamed empty log
content. This seems like something that should more reasonably be
checked in the context of a recipe rather than something botanist should
intimately care about.

Tested: botanist is extensively integration tested being the tool that
CQ itself consumes from source to run tests and manage device
interaction. Also, this change can be viewed as bootstrapping
testability for a more streamlined botanist codebase.

Change-Id: I5809ec79e745339a4b970f8a109e2bb47fe2eef9
5 files changed
tree: 23e7ccb6117edbfc6517c4afd2bf0ee2e844546f
  1. boards/
  2. build/
  3. bundles/
  4. docs/
  5. examples/
  6. garnet/
  7. peridot/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.