Commit Graph

6 Commits

Author SHA1 Message Date
Fredrik Fornwall
04ef22f6dc
Update README after the make -> xtask transition (#2401) 2023-07-08 12:37:41 +02:00
Fredrik Fornwall
981c1f9196
Fix installing naga-cli from git (#2398)
Move hl-snapshots out from the xtask workspace, since it's also used as
a dev dependency in the naga crate itself for a test.
2023-07-08 01:33:48 +02:00
Erich Gubler
9b6e74813f build: mark hlsl-snapshots as publish = false 2023-06-09 14:32:02 +02:00
Erich Gubler
3e11b4a3cd refactor(xtask): prefer ? to Result::map in subcmd. parsing 2023-06-09 14:32:02 +02:00
Erich Gubler
cd7b8aca47 refactor(xtask): avoid unnecessary IIFE 2023-06-09 14:32:02 +02:00
Erich Gubler
91d48b2923 build: move from make to cargo xtask workflows
Re-implement `naga` development workflows using [`cargo xtask`]. Convert
`make` logic and shader test configuration as file with Bash variables
into an `xtask` crate and YAML files, respectively.

Pros:

* We now have a _portable_ workflow everywhere, which means Windows
  folks and people who don't install `make` don't have to suffer.
  😮‍💨
* Workflow logic is now relatively easy to inspect and change. Whew!
  💁🏻‍♂️💦
* Contributors can use their existing Rust knowledge to contribute to
  developer experience. 🎉
* `cargo xtask` is a relatively well-known convention for workflows in
  the ecosystem.
* We can do fancy things like allow folks to run at different log levels
  for workflows, depending on their tastes.

Cons:

* There's now a non-trivial compile step to project workflow.
  Incremental rebuilds seem to be pretty short, though!
* Code is much more verbose than the (very) terse `make` implementation.

[`cargo xtask`]: https://github.com/matklad/cargo-xtask
2023-06-08 16:56:57 +02:00