diff options
Diffstat (limited to 'development/tools/cargo-workspace2/docs/ws2ql.md')
-rw-r--r-- | development/tools/cargo-workspace2/docs/ws2ql.md | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/development/tools/cargo-workspace2/docs/ws2ql.md b/development/tools/cargo-workspace2/docs/ws2ql.md new file mode 100644 index 000000000000..a255a650bb50 --- /dev/null +++ b/development/tools/cargo-workspace2/docs/ws2ql.md @@ -0,0 +1,19 @@ +# ws2 query language + +The `cargo-ws2` query language (`ws2ql`) allows users to specify a +set of inputs, and an operation to execute on it. + +## Basic rules + +* Inside `[]` are sets (meaning items de-dup), space separated +* IF `[]` contains a `/` anywhere _but_ the beginning AND end, + query becomes a path glob +* IF `[]` contains `/` at start AND end, query becomes a regex +* An operation is parsed in the order of the fields in it's struct + (so publish order is `type mod devel`, etc) +* Inside `{}` you can create dependency maps + * `{ foo < }` represents all crates that depend on `foo` + * `{ foo < bar &< }` represents all crates that depend on `foo` AND `bar` + * `{ foo < bar |< }` represents all crates that depend on `foo` OR `bar` + * `{ foo < bar &!< }` represents all crates that depend on `foo` AND NOT `bar` + |