mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00
Add support for tool.uv
into distribution building (#3904)
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.
This commit is contained in:
parent
09f55482a0
commit
081f20c53e
69 changed files with 1159 additions and 1680 deletions
|
@ -11,9 +11,10 @@ use distribution_filename::WheelFilename;
|
|||
use distribution_types::{
|
||||
CachedDirectUrlDist, CachedDist, DirectUrlBuiltDist, DirectUrlSourceDist, DirectorySourceDist,
|
||||
Error, GitSourceDist, Hashed, IndexLocations, InstalledDist, Name, PathBuiltDist,
|
||||
PathSourceDist, RemoteSource, Requirement, RequirementSource, Verbatim,
|
||||
PathSourceDist, RemoteSource, Verbatim,
|
||||
};
|
||||
use platform_tags::Tags;
|
||||
use pypi_types::{Requirement, RequirementSource};
|
||||
use uv_cache::{ArchiveTimestamp, Cache, CacheBucket, WheelCache};
|
||||
use uv_configuration::{NoBinary, Reinstall};
|
||||
use uv_distribution::{
|
||||
|
|
|
@ -6,8 +6,8 @@ use serde::Deserialize;
|
|||
use tracing::{debug, trace};
|
||||
|
||||
use cache_key::{CanonicalUrl, RepositoryUrl};
|
||||
use distribution_types::{InstalledDirectUrlDist, InstalledDist, RequirementSource};
|
||||
use pypi_types::{DirInfo, DirectUrl, VcsInfo, VcsKind};
|
||||
use distribution_types::{InstalledDirectUrlDist, InstalledDist};
|
||||
use pypi_types::{DirInfo, DirectUrl, RequirementSource, VcsInfo, VcsKind};
|
||||
use uv_cache::{ArchiveTarget, ArchiveTimestamp};
|
||||
|
||||
#[derive(Debug, Copy, Clone)]
|
||||
|
|
|
@ -8,11 +8,10 @@ use rustc_hash::{FxHashMap, FxHashSet};
|
|||
use url::Url;
|
||||
|
||||
use distribution_types::{
|
||||
Diagnostic, InstalledDist, Name, Requirement, UnresolvedRequirement,
|
||||
UnresolvedRequirementSpecification,
|
||||
Diagnostic, InstalledDist, Name, UnresolvedRequirement, UnresolvedRequirementSpecification,
|
||||
};
|
||||
use pep440_rs::{Version, VersionSpecifiers};
|
||||
use pypi_types::VerbatimParsedUrl;
|
||||
use pypi_types::{Requirement, VerbatimParsedUrl};
|
||||
use uv_interpreter::PythonEnvironment;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_types::InstalledPackagesProvider;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue