These changes are designed to make the witx tooling more useful to proposal forks of this repository.
Rather than keep the cli-oriented functionality of the witx crate in an example, make a new crate witx-cli that creates a witx executable.
Add a --check flag to the witx docs subcommand that checks if docs in the filesystem match those calculated from the witx files.
Rewrite the wasi-docs test to invoke witx docs --check. This test now can live in .github/workflows/main.yml rather than in the rust sources.
Testing of the witx tooling and validating witx specs & docs can now happen in parallel in CI.
Speaking of things that don't belong in the rust sources: paths to witx files don't belong in there, so delete the witx::phases module. Really they never belonged in there, but I didn't see the harm before we started the repo re-organization in #360.
These changes are designed to make the witx tooling more useful to proposal forks of this repository.
witx
crate in an example, make a new cratewitx-cli
that creates awitx
executable.--check
flag to thewitx docs
subcommand that checks if docs in the filesystem match those calculated from the witx files.wasi-docs
test to invokewitx docs --check
. This test now can live in .github/workflows/main.yml rather than in the rust sources.witx::phases
module. Really they never belonged in there, but I didn't see the harm before we started the repo re-organization in #360.