mirror of
https://github.com/astral-sh/uv.git
synced 2025-10-29 03:02:55 +00:00
Allow pre-releases for requirements in constraints files (#2069)
## Summary If a pre-release marker is present on a requirement in a constraint file, we should allow pre-releases for that package. Closes https://github.com/astral-sh/uv/issues/2063.
This commit is contained in:
parent
69fb9c37fb
commit
1bc5485094
3 changed files with 55 additions and 3 deletions
|
|
@ -48,14 +48,21 @@ pub(crate) enum PreReleaseStrategy {
|
|||
}
|
||||
|
||||
impl PreReleaseStrategy {
|
||||
pub(crate) fn from_mode(mode: PreReleaseMode, direct_dependencies: &[Requirement]) -> Self {
|
||||
pub(crate) fn from_mode(
|
||||
mode: PreReleaseMode,
|
||||
requirements: &[Requirement],
|
||||
constraints: &[Requirement],
|
||||
overrides: &[Requirement],
|
||||
) -> Self {
|
||||
match mode {
|
||||
PreReleaseMode::Disallow => Self::Disallow,
|
||||
PreReleaseMode::Allow => Self::Allow,
|
||||
PreReleaseMode::IfNecessary => Self::IfNecessary,
|
||||
PreReleaseMode::Explicit => Self::Explicit(
|
||||
direct_dependencies
|
||||
requirements
|
||||
.iter()
|
||||
.chain(constraints.iter())
|
||||
.chain(overrides.iter())
|
||||
.filter(|requirement| {
|
||||
let Some(version_or_url) = &requirement.version_or_url else {
|
||||
return false;
|
||||
|
|
@ -74,8 +81,10 @@ impl PreReleaseStrategy {
|
|||
.collect(),
|
||||
),
|
||||
PreReleaseMode::IfNecessaryOrExplicit => Self::IfNecessaryOrExplicit(
|
||||
direct_dependencies
|
||||
requirements
|
||||
.iter()
|
||||
.chain(constraints.iter())
|
||||
.chain(overrides.iter())
|
||||
.filter(|requirement| {
|
||||
let Some(version_or_url) = &requirement.version_or_url else {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue