blob: 6392c40ce9674b733bf3abb0a24d0dc26238d977 [file] [log] [blame]
// 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,
},
},
},
}