081f20c53e
With the change, we remove the special casing of workspace dependencies and resolve `tool.uv` for all git and directory distributions. This gives us support for non-editable workspace dependencies and path dependencies in other workspaces. It removes a lot of special casing around workspaces. These changes are the groundwork for supporting `tool.uv` with dynamic metadata. The basis for this change is moving `Requirement` from `distribution-types` to `pypi-types` and the lowering logic from `uv-requirements` to `uv-distribution`. This changes should be split out in separate PRs. I've included an example workspace `albatross-root-workspace2` where `bird-feeder` depends on `a` from another workspace `ab`. There's a bunch of failing tests and regressed error messages that still need fixing. It does fix the audited package count for the workspace tests.
35 lines
1004 B
TOML
35 lines
1004 B
TOML
[package]
|
|
name = "uv-dispatch"
|
|
version = "0.0.1"
|
|
description = "Avoid cyclic crate dependencies between resolver, installer and builder"
|
|
edition = { workspace = true }
|
|
rust-version = { workspace = true }
|
|
homepage = { workspace = true }
|
|
documentation = { workspace = true }
|
|
repository = { workspace = true }
|
|
authors = { workspace = true }
|
|
license = { workspace = true }
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
distribution-types = { workspace = true }
|
|
install-wheel-rs = { workspace = true }
|
|
pypi-types = { workspace = true }
|
|
uv-build = { workspace = true }
|
|
uv-cache = { workspace = true }
|
|
uv-client = { workspace = true }
|
|
uv-configuration = { workspace = true }
|
|
uv-distribution = { workspace = true }
|
|
uv-installer = { workspace = true }
|
|
uv-interpreter = { workspace = true }
|
|
uv-resolver = { workspace = true }
|
|
uv-types = { workspace = true }
|
|
|
|
anyhow = { workspace = true }
|
|
futures = { workspace = true }
|
|
itertools = { workspace = true }
|
|
rustc-hash = { workspace = true }
|
|
tracing = { workspace = true }
|