[roll] Roll fuchsia [realmbuilder] Improve decl validation logging, and component URL format

When building a realm that installs a Dart runner and a Dart component,
I needed to make a couple of changes.

1. When realm_builder_server runs `cm_fidl_validator::validate()` on
   behalf of a client, and returns an error, the error result does not
   always include enough context to understand the error. To help with
   this, I added the ComponentDecl to the `InvalidComponentDecl` (and
   `WithName`) error. Where printed, I updated the format directive to
   use pretty-print format so the decl is more readable.

2. The realm_builder_resolver `validate_and_register()` function
   generates component URLs by prepending a unique component ID, and it
   uses a `-` as a delimiter. This caused a problem for dart and flutter
   runners because they parse the url to determine the component name,
   and expect the component name to begin after the last slash in the
   URL. Instead of finding the component named
   `fuchsia-component-test-dart-tests`, it found
   `1-fuchsia-component-test-dart-tests`, which is not the component name
   and caused other downstream logic to fail. I was able to work around
   the problem, enabling RealmBuilder to launch a Dart component, via a
   dart or flutter runner, by changing the delimiter to `/`.

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/652193
Original-Revision: 674c2f0356a41c2aebb08a66536f3d3330d5f4bb
GitOrigin-RevId: 63c66543bb521c946316b8a60b94657833e9f3a5
Change-Id: Id4de6f48b5994fe93cab25624c163bddcb195ebe
1 file changed
tree: 8557945cd38e1c5dd96a43b07eb5694c925aa446
  1. infra/
  2. third_party/
  3. cts
  4. firmware
  5. flower
  6. jiri.lock
  7. minimal
  8. prebuilts
  9. README.md
  10. stem
  11. test_durations
  12. 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.