mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 10:58:28 +00:00

This adds support for providing conflicting group names in addition to extra names to `Conflicts`. This merely makes "room" for it in the types while keeping everything working. We'll add proper support for it in the next commit. Note that one interesting trick we do here is depend directly on `hashbrown` so that we can make use of its `Equivalent` trait. This in turn lets us use things like `ConflictItemRef` as a lookup key for a hashset that contains `ConflictItem`. This mirrors using a `&str` as a lookup key for a hashset that contains `String`, but works for arbitrary types. `std` doesn't support this, but `hashbrown` does. This trick in turn lets us simplify some of our data structures. This also rejiggers some of the serde-interaction with the conflicting types. We now use a wire type to represent our conflicting items for more flexibility. i.e., Support `extra` XOR `group` fields.
69 lines
2 KiB
TOML
69 lines
2 KiB
TOML
[package]
|
|
name = "uv-resolver"
|
|
version = "0.0.1"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lib]
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
uv-cache-key = { workspace = true }
|
|
uv-client = { workspace = true }
|
|
uv-configuration = { workspace = true }
|
|
uv-distribution = { workspace = true }
|
|
uv-distribution-filename = { workspace = true }
|
|
uv-distribution-types = { workspace = true }
|
|
uv-fs = { workspace = true, features = ["serde"] }
|
|
uv-git = { workspace = true }
|
|
uv-metadata = { workspace = true }
|
|
uv-normalize = { workspace = true }
|
|
uv-once-map = { workspace = true }
|
|
uv-pep440 = { workspace = true }
|
|
uv-pep508 = { workspace = true }
|
|
uv-platform-tags = { workspace = true }
|
|
uv-pypi-types = { workspace = true }
|
|
uv-python = { workspace = true }
|
|
uv-requirements-txt = { workspace = true }
|
|
uv-static = { workspace = true }
|
|
uv-types = { workspace = true }
|
|
uv-warnings = { workspace = true }
|
|
uv-workspace = { workspace = true }
|
|
|
|
anyhow = { workspace = true }
|
|
clap = { workspace = true, features = ["derive"], optional = true }
|
|
dashmap = { workspace = true }
|
|
either = { workspace = true }
|
|
futures = { workspace = true }
|
|
hashbrown = { workspace = true }
|
|
indexmap = { workspace = true }
|
|
itertools = { workspace = true }
|
|
jiff = { workspace = true, features = ["serde"] }
|
|
owo-colors = { workspace = true }
|
|
petgraph = { workspace = true }
|
|
pubgrub = { workspace = true }
|
|
rkyv = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
same-file = { workspace = true }
|
|
schemars = { workspace = true, optional = true }
|
|
serde = { workspace = true }
|
|
textwrap = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true }
|
|
tokio-stream = { workspace = true }
|
|
toml = { workspace = true }
|
|
toml_edit = { workspace = true }
|
|
tracing = { workspace = true }
|
|
url = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
insta = { version = "1.40.0" }
|
|
toml = { workspace = true }
|