configc


Usage: configc <command> [<args>]

Tool for compiling structured configuration artifacts


OPTIONS:


  --help            display usage information


SUBCOMMANDS:


  cvf               Generates a Configuration Value File (cvf) from a given
                    manifest and JSON value file.
  cvm               Generates a Configuration Value Manifest (cvm) from a given
                    manifest and JSON value file.
  fidl              Generates a FIDL client library from a given manifest.
  rust              Generates a Rust client library from a given manifest. This
                    also requires a FIDL client library to be generated for the
                    given manifest.
  cpp               Generates a C++ client library from a given manifest. This
                    also requires a FIDL client library to be generated for the
                    given manifest.
  validate-package  validate that any components in the package which declare
                    structured config are able to have their configuration
                    resolved from their package
  dump-values       dump configuration values for a component in a
                    human-readable format


cpp


Usage: configc cpp --cm <cm> --h-output <h-output> --cc-output <cc-output> --namespace <namespace> --fidl-library-name <fidl-library-name> --clang-format <clang-format> --flavor <flavor>

Generates a C++ client library from a given manifest. This also requires a FIDL client library to be generated for the given manifest.


OPTIONS:


  --cm              compiled manifest containing the config declaration
  --h-output        path to which to output a header file
  --cc-output       path to which to output a source file
  --namespace       namespace used by library
  --fidl-library-name
                    name for the internal FIDL library
  --clang-format    path to clang-format binary
  --flavor          runner flavor to use ('elf')
  --help            display usage information


cvf


Usage: configc cvf --cm <cm> --values <values> --output <output>

Generates a Configuration Value File (cvf) from a given manifest and JSON value file.


OPTIONS:


  --cm              compiled manifest containing the config declaration
  --values          JSON5 file containing a single object with each config field
                    as a top level key in an object.
  --output          path to which to write configuration value file
  --help            display usage information


cvm


Usage: configc cvm --cm <cm> --values <values> --output <output>

Generates a Configuration Value Manifest (cvm) from a given manifest and JSON value file.


OPTIONS:


  --cm              compiled manifest containing the config declaration
  --values          JSON5 file containing a single object with each config field
                    as a top level key in an object.
  --output          path to which to write configuration value file
  --help            display usage information


dump-values


Usage: configc dump-values --cm <cm> --cvf <cvf> [--output <output>]

dump configuration values for a component in a human-readable format


OPTIONS:


  --cm              path to the compiled manifest
  --cvf             path to the configuration value file
  --output          path to the JSON output, print to stdout if not provided
  --help            display usage information


fidl


Usage: configc fidl --cm <cm> --output <output> --library-name <library-name> --fidl-format <fidl-format>

Generates a FIDL client library from a given manifest.


OPTIONS:


  --cm              compiled manifest containing the config declaration
  --output          path to which to output FIDL source file
  --library-name    name for the internal FIDL library
  --fidl-format     path to fidl-format binary
  --help            display usage information


rust


Usage: configc rust --cm <cm> --output <output> --fidl-library-name <fidl-library-name> --rustfmt <rustfmt> --rustfmt-config <rustfmt-config>

Generates a Rust client library from a given manifest. This also requires a FIDL client library to be generated for the given manifest.


OPTIONS:


  --cm              compiled manifest containing the config declaration
  --output          path to which to output Rust source file
  --fidl-library-name
                    name for the internal FIDL library
  --rustfmt         path to rustfmt binary
  --rustfmt-config  path to rustfmt.toml configuration file
  --help            display usage information


validate-package


Usage: configc validate-package <package> --stamp <stamp>

validate that any components in the package which declare structured config are able to have their configuration resolved from their package

Positional Arguments:
  package           path to the package manifest to validate


OPTIONS:


  --stamp           path to the stamp file to write when done validating
  --help            display usage information