| // Copyright 2022 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // This is a v2 component manifest. |
| { |
| include: [ |
| // See: https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=99631#c16 |
| "//sdk/lib/sys/testing/coverage.shard.cml", |
| "syslog/client.shard.cml", |
| ], |
| program: { |
| runner: "elf", |
| binary: "bin/example", |
| lifecycle: { stop_event: "notify" }, |
| }, |
| children: [ |
| { |
| name: "logger", |
| url: "fuchsia-pkg://fuchsia.com/logger/stable#meta/logger.cm", |
| environment: "#env_one", |
| }, |
| ], |
| collections: [ |
| { |
| name: "modular", |
| durability: "persistent", |
| }, |
| { |
| name: "explicit_static", |
| durability: "persistent", |
| allowed_offers: "static_only", |
| }, |
| { |
| name: "explicit_dynamic", |
| durability: "persistent", |
| allowed_offers: "static_and_dynamic", |
| }, |
| { |
| name: "long_child_names", |
| durability: "persistent", |
| allow_long_names: true, |
| }, |
| ], |
| capabilities: [ |
| { |
| service: "fuchsia.logger.Log", |
| path: "/svc/fuchsia.logger.Log", |
| }, |
| { |
| protocol: "fuchsia.logger.Log2", |
| path: "/svc/fuchsia.logger.Log2", |
| }, |
| { |
| directory: "blobfs", |
| rights: [ "rw*" ], |
| path: "/volumes/blobfs", |
| }, |
| { |
| storage: "minfs", |
| from: "parent", |
| backing_dir: "data", |
| storage_id: "static_instance_id_or_moniker", |
| }, |
| { |
| runner: "dart_runner", |
| path: "/svc/fuchsia.sys2.Runner", |
| }, |
| { |
| resolver: "pkg_resolver", |
| path: "/svc/fuchsia.pkg.Resolver", |
| }, |
| ], |
| use: [ |
| { service: "fuchsia.fonts.Provider" }, |
| { |
| protocol: "fuchsia.fonts.LegacyProvider", |
| path: "/svc/fuchsia.fonts.OldProvider", |
| availability: "optional", |
| }, |
| { |
| protocol: "fuchsia.log.LegacyLog", |
| from: "debug", |
| }, |
| { |
| event: "started", |
| from: "framework", |
| as: "began", |
| }, |
| { |
| event: [ |
| "destroyed", |
| "stopped", |
| ], |
| from: "parent", |
| }, |
| { |
| event: "directory_ready", |
| from: "parent", |
| as: "diagnostics_ready", |
| filter: { path: "diagnostics" }, |
| availability: "optional", |
| }, |
| { |
| event_stream_deprecated: "my_stream", |
| subscriptions: [ |
| { event: "began" }, |
| { event: "destroyed" }, |
| { event: "diagnostics_ready" }, |
| ], |
| }, |
| { |
| event_stream: [ |
| "events", |
| "other", |
| "some", |
| ], |
| from: "parent", |
| path: "/testdir/my_stream", |
| scope: [ "#logger" ], |
| }, |
| { |
| event_stream: "filtered", |
| from: "parent", |
| }, |
| ], |
| offer: [ |
| { |
| service: "fuchsia.logger.Log", |
| from: "#logger", |
| to: "#modular", |
| }, |
| { |
| protocol: "fuchsia.logger.LegacyLog", |
| from: "#logger", |
| as: "fuchsia.logger.OldLog", |
| to: "#modular", |
| }, |
| { |
| event: "stopped", |
| from: "parent", |
| as: "stopped-logger", |
| to: "#logger", |
| availability: "required", |
| }, |
| { |
| event_stream: "directory_ready", |
| from: "parent", |
| to: "#logger", |
| filter: { name: "diagnostics" }, |
| availability: "same_as_target", |
| }, |
| { |
| event_stream: [ |
| "started", |
| "stopped", |
| ], |
| from: "parent", |
| to: "#logger", |
| scope: [ "#logger" ], |
| }, |
| { |
| protocol: "fuchsia.logger.LegacyLog2", |
| from: "#non-existant", |
| as: "fuchsia.logger.OldLog2", |
| to: "#modular", |
| source_availability: "unknown", |
| }, |
| { |
| protocol: "fuchsia.logger.LegacyLog3", |
| from: "#logger", |
| as: "fuchsia.logger.OldLog3", |
| to: "#modular", |
| source_availability: "unknown", |
| }, |
| { |
| protocol: "fuchsia.logger.LegacyLog4", |
| from: "parent", |
| as: "fuchsia.logger.OldLog4", |
| to: "#modular", |
| availability: "optional", |
| }, |
| ], |
| expose: [ |
| { |
| service: "fuchsia.logger.Log", |
| from: "#logger", |
| }, |
| { |
| protocol: "fuchsia.logger.LegacyLog", |
| from: "#logger", |
| as: "fuchsia.logger.OldLog", |
| to: "parent", |
| }, |
| { |
| directory: "blobfs", |
| from: "self", |
| to: "parent", |
| subdir: "blob", |
| }, |
| { |
| event_stream: [ |
| "started", |
| "stopped", |
| ], |
| from: "framework", |
| to: "parent", |
| scope: [ "#logger" ], |
| }, |
| ], |
| environments: [ |
| { |
| name: "env_one", |
| extends: "none", |
| __stop_timeout_ms: 1337, |
| }, |
| { |
| name: "env_two", |
| extends: "realm", |
| debug: [ |
| { |
| protocol: "fuchsia.logger.LegacyLog", |
| from: "#logger", |
| }, |
| { |
| protocol: "fuchsia.logger.OtherLog", |
| from: "parent", |
| }, |
| { |
| protocol: "fuchsia.logger.Log2", |
| from: "self", |
| }, |
| ], |
| }, |
| ], |
| facets: { |
| author: "Fuchsia", |
| year: "2018", |
| metadata: { publisher: "The Books Publisher" }, |
| }, |
| config: { |
| my_flag: { type: "bool" }, |
| my_uint8: { type: "uint8" }, |
| my_string: { |
| type: "string", |
| max_size: 100, |
| }, |
| my_vector_of_string: { |
| type: "vector", |
| max_count: 100, |
| element: { |
| type: "string", |
| max_size: 50, |
| }, |
| }, |
| }, |
| } |