[roll] Roll fuchsia [sys] Run validation during cml::compile

cml::compile is an API used by cmc and scrutiny etc to compile an
in-memory Document. Previously validation didn't run during
cml::compile, meant users of that API might produce invalid CM.
See the changed tests:

- Duplicate "offer to all" within one cml Document should be disallowed.
  Practically, this means that duplicates in a single file is
  disallowed, while duplicates from different files merged into one
  document is allowed because they are deduplicated during merging.
- There's really no reason "event_stream" capabilities must require a
  "from". "from" always defaults to "parent".

After moving validation into the cml module, we're now able to
standardize the set of checks that happen during what we'd call
"compilation":

- cml::validate validation
- cml -> cm translation
- cm_fidl_validator validation

The extra things `cmc` adds on top are:

- File I/O
- cml merging
- experimental_force_runner

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/858113
Original-Revision: 6aad640ebf5c25c64708cb98b33f517792a5deab
GitOrigin-RevId: 73d4a22e52a79933c7adb15c302c5976b9524bfe
Change-Id: I1af484764cb111fbece2217b65c57cac923b8864
1 file changed
tree: a822dccf41d96498fdb3bf9c00956741eaefd091
  1. git-hooks/
  2. infra/
  3. third_party/
  4. cts
  5. firmware
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. test_durations
  14. 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 via the IRC channel #fuchsia on Freenode.

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.