]> git.bitcoin.ninja Git - rust-lightning/commit
Ensure we always pass a `path` for in-workspace dependencies
authorMatt Corallo <git@bluematt.me>
Fri, 16 Aug 2024 20:13:18 +0000 (20:13 +0000)
committerMatt Corallo <git@bluematt.me>
Mon, 19 Aug 2024 15:09:38 +0000 (15:09 +0000)
commit9ca38c59f426034e889ad9a19d0736978c718b32
treecdb226c10f3d5d6c15102aeaaed39c82549b3c5e
parentf8b7ad242dcadc610c7da9a08b4861b2fa396512
Ensure we always pass a `path` for in-workspace dependencies

In order to ensure our crates depend on the workspace copies of
each other in test builds we need to override the crates.io
dependency with a local `path`.

We can do this in one of two ways - either specify the `path` in
the dependency listing in each crate's `Cargo.toml` or use the
workspace `Cargo.toml` to `patch` all dependencies. The first is
tedious while the second lets us have it all in one place. However,
the second option does break `cargo *` in individual crate
directories (forcing the use of `cargo -p crate *` instead) and
makes it rather difficult to depend on local versions of workspace
crates.

Thus, here we drop the `patch.crates-io` from our top-level
`Cargo.toml` entirely.

Still, we do update the `ci/ci-tests.sh` script here to use
`cargo -p crate` instead of switching to each crate's directory as
it allows `cargo` to use a shared `target` and may speed up tests.
Cargo.toml
ci/ci-tests.sh
lightning/Cargo.toml
no-std-check/Cargo.toml