mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-05-14 20:01:21 +00:00
Circular dependencies are problematic in several ways: - They result in cognitive overhead for developers, in trying to figure out what depends on what. - They present `cargo` with limits in what order the crates can be compiled in. - They invalidate build caches unnecessarily thus forcing `cargo` to rebuild certain crates. - They cause problems with tooling such as `release-please`. To actually break the circular dependencies, this patch inlines the uses of `development_transport` in the examples and tests for all sub-crates. This is only meant to be a short-term fix until https://github.com/libp2p/rust-libp2p/issues/3111 and https://github.com/libp2p/rust-libp2p/pull/2888 are fixed. To ensure we don't accidentally reintroduce this dependency, we add a basic CI that queries `cargo metadata` using `jq`. Resolves https://github.com/libp2p/rust-libp2p/issues/3053. Fixes https://github.com/libp2p/rust-libp2p/issues/3223. Related: https://github.com/libp2p/rust-libp2p/pull/2918#discussion_r976514245 Related: https://github.com/googleapis/release-please/issues/1662
38 lines
1.2 KiB
TOML
38 lines
1.2 KiB
TOML
[package]
|
|
name = "multistream-select"
|
|
edition = "2021"
|
|
rust-version = "1.60.0"
|
|
description = "Multistream-select negotiation protocol for libp2p"
|
|
version = "0.12.1"
|
|
authors = ["Parity Technologies <admin@parity.io>"]
|
|
license = "MIT"
|
|
repository = "https://github.com/libp2p/rust-libp2p"
|
|
keywords = ["peer-to-peer", "libp2p", "networking"]
|
|
categories = ["network-programming", "asynchronous"]
|
|
|
|
[dependencies]
|
|
bytes = "1"
|
|
futures = "0.3"
|
|
log = "0.4"
|
|
pin-project = "1.0.0"
|
|
smallvec = "1.6.1"
|
|
unsigned-varint = "0.7"
|
|
|
|
[dev-dependencies]
|
|
async-std = "1.6.2"
|
|
env_logger = "0.10"
|
|
libp2p-core = { path = "../../core" }
|
|
libp2p-mplex = { path = "../../muxers/mplex" }
|
|
libp2p-plaintext = { path = "../../transports/plaintext" }
|
|
libp2p-swarm = { path = "../../swarm", features = ["async-std"] }
|
|
quickcheck = { package = "quickcheck-ext", path = "../../misc/quickcheck-ext" }
|
|
rand = "0.8"
|
|
rw-stream-sink = { version = "0.3.0", path = "../../misc/rw-stream-sink" }
|
|
|
|
# Passing arguments to the docsrs builder in order to properly document cfg's.
|
|
# More information: https://docs.rs/about/builds#cross-compiling
|
|
[package.metadata.docs.rs]
|
|
all-features = true
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
|
rustc-args = ["--cfg", "docsrs"]
|