Two packages: a static library (libgreet) and an executable that uses it
(app). Demonstrates that dowel really compiles C.
cd app
dowel check
dowel build
./.dowel/build/*/bin/app
cd ../libgreet
dowel test # build and run test.greet_test
What to look at:
libgreet/include is in public.includes, libgreet/src in
private.includes. app can see headers from the former but not the
latterGREET_API in public.defines also affects the compilation of appflags switch per configuration via match cfg.opt; confirm with
dowel build --config=release[test.greet_test] in libgreet uses only the public headers.
dowel test judges pass/fail by exit statusPropagation paths can be traced with dowel why:
dowel why app:app includes
dowel graph --kind=action
This example is built and checked by crates/dowel-cli/tests/example.rs.