add workspace_hack crate

Our builds can be a little inconsistent, because Cargo doesn't deal well
with workspaces where there are multiple crates which have different
dependencies that select different features. As a workaround, copy what
other big rust projects do: add a workspace_hack crate.

This crate just pins down a set of dependencies and features that
satisfies all of the workspace crates.

The benefits are:
- running `cargo build` from one of the workspace subdirectories now
  works without rebuilding anything.
- running `cargo install` works (without rebuilding anything).
- making small dependency changes is much less likely to trigger large
  dependency rebuilds.
This commit is contained in:
Eric Seppanen
2021-05-05 17:57:57 -07:00
parent e5e5c3e067
commit df5a55c445
9 changed files with 72 additions and 0 deletions

View File

@@ -17,6 +17,7 @@ crc32c = "0.6.0"
hex = "0.4.3"
log = "0.4.14"
thiserror = "1.0"
workspace_hack = { path = "../workspace_hack" }
[build-dependencies]
bindgen = "0.57"