blob: 18323531703b08a40a96ac7708cdc1a6278e1e2b [file] [log] [blame] [view] [edit]
# cmc: the component manifest compiler
Reviewed on: 2019-07-11
cmc provides validation and manipulation logic for component manifest files.
This tool is largely intended to be used by build rules, and not directly
invoked by humans. Information on how to use it is available by running the tool
with `--help`.
cmc is purely a host tool, and is not built for nor available on fuchsia
systems.
## Building
This project is already included in host builds and should be included in any `fx set`.
## Running
cmc is available at `$OUT_DIR/host_x64/cmc` in the build output path after an `fx build`
invocation.
```
$ ./out/default/host_x64/cmc --help
```
## Testing
Make sure the tests are added to your build by adding
`--with //tools/cmc:tests` to your `fx set` invocation.
Unit tests for cmc are available in the `cmc_bin_tests` binary, which can be
invoked with the `fx run-host-tests` command:
```
$ fx run-host-tests --names cmc_bin_test
```
Integration tests are also available in the `cmc_integration_test` package.
```
$ fx run-test cmc_integration_test
```
## Source layout
The entrypoint is located in `src/main.rs`, unit tests are co-located with the
code, and the integration tests live in `tests/`.