mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00
Respect --no-sources
for uv pip install
workspace discovery (#11003)
This commit is contained in:
parent
bbba2c7bce
commit
c1a2ef12d2
3 changed files with 128 additions and 16 deletions
|
@ -5,7 +5,7 @@ use uv_configuration::{LowerBound, SourceStrategy};
|
|||
use uv_distribution_types::IndexLocations;
|
||||
use uv_normalize::PackageName;
|
||||
use uv_workspace::pyproject::ToolUvSources;
|
||||
use uv_workspace::{DiscoveryOptions, ProjectWorkspace, Workspace};
|
||||
use uv_workspace::{DiscoveryOptions, MemberDiscovery, ProjectWorkspace, Workspace};
|
||||
|
||||
use crate::metadata::{LoweredRequirement, MetadataError};
|
||||
|
||||
|
@ -39,10 +39,17 @@ impl BuildRequires {
|
|||
sources: SourceStrategy,
|
||||
lower_bound: LowerBound,
|
||||
) -> Result<Self, MetadataError> {
|
||||
let discovery = match sources {
|
||||
SourceStrategy::Enabled => DiscoveryOptions::default(),
|
||||
SourceStrategy::Disabled => DiscoveryOptions {
|
||||
members: MemberDiscovery::None,
|
||||
..Default::default()
|
||||
},
|
||||
};
|
||||
|
||||
// TODO(konsti): Cache workspace discovery.
|
||||
let Some(project_workspace) =
|
||||
ProjectWorkspace::from_maybe_project_root(install_path, &DiscoveryOptions::default())
|
||||
.await?
|
||||
ProjectWorkspace::from_maybe_project_root(install_path, &discovery).await?
|
||||
else {
|
||||
return Ok(Self::from_metadata23(metadata));
|
||||
};
|
||||
|
|
|
@ -10,7 +10,7 @@ use uv_normalize::{ExtraName, GroupName, PackageName, DEV_DEPENDENCIES};
|
|||
use uv_pep508::MarkerTree;
|
||||
use uv_workspace::dependency_groups::FlatDependencyGroups;
|
||||
use uv_workspace::pyproject::{Sources, ToolUvSources};
|
||||
use uv_workspace::{DiscoveryOptions, ProjectWorkspace};
|
||||
use uv_workspace::{DiscoveryOptions, MemberDiscovery, ProjectWorkspace};
|
||||
|
||||
use crate::metadata::{GitWorkspaceMember, LoweredRequirement, MetadataError};
|
||||
use crate::Metadata;
|
||||
|
@ -52,18 +52,17 @@ impl RequiresDist {
|
|||
lower_bound: LowerBound,
|
||||
) -> Result<Self, MetadataError> {
|
||||
// TODO(konsti): Cache workspace discovery.
|
||||
let discovery_options = if let Some(git_member) = &git_member {
|
||||
DiscoveryOptions {
|
||||
stop_discovery_at: Some(
|
||||
git_member
|
||||
.fetch_root
|
||||
.parent()
|
||||
.expect("git checkout has a parent"),
|
||||
),
|
||||
..Default::default()
|
||||
}
|
||||
} else {
|
||||
DiscoveryOptions::default()
|
||||
let discovery_options = DiscoveryOptions {
|
||||
stop_discovery_at: git_member.map(|git_member| {
|
||||
git_member
|
||||
.fetch_root
|
||||
.parent()
|
||||
.expect("git checkout has a parent")
|
||||
}),
|
||||
members: match sources {
|
||||
SourceStrategy::Enabled => MemberDiscovery::default(),
|
||||
SourceStrategy::Disabled => MemberDiscovery::None,
|
||||
},
|
||||
};
|
||||
let Some(project_workspace) =
|
||||
ProjectWorkspace::from_maybe_project_root(install_path, &discovery_options).await?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue