// Copyright 2020 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 file was generated by the `fx create` command. The template
// is located at `//tools/create/templates/component-default/meta/{{PROJECT_NAME}}.cml.tmpl-rust`.
// If you find something broken, we are eager to review fixes.

// my-component-v2-rust component manifest.
// For information on manifest format and features,
// see https://fuchsia.dev/fuchsia-src/concepts/components/component_manifests.
{
    include: [
        "//sdk/lib/diagnostics/inspect/client.shard.cml",
        "//sdk/lib/diagnostics/syslog/client.shard.cml",
    ],

    // Information about the program to run.
    program: {
        // Use the built-in ELF runner to run native binaries.
        runner: "elf",
        // The binary to run for this component.
        binary: "bin/my-component-v2-rust",
    },

    // Capabilities used by this component.
    use: [
        // List your component's dependencies here, ex:
        // { protocol: "fuchsia.net.NameLookup" }
    ],
}
