Use defaults in `RequirementsSpecification` constructors (#3495)

This commit is contained in:
Charlie Marsh 2024-05-09 15:27:59 -04:00 committed by GitHub
parent 3bd89ce5b3
commit 51f4ab1c8d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 51 deletions

View File

@ -67,50 +67,27 @@ impl RequirementsSpecification {
let requirement = RequirementsTxtRequirement::parse(name, std::env::current_dir()?) let requirement = RequirementsTxtRequirement::parse(name, std::env::current_dir()?)
.with_context(|| format!("Failed to parse `{name}`"))?; .with_context(|| format!("Failed to parse `{name}`"))?;
Self { Self {
project: None,
requirements: vec![UnresolvedRequirementSpecification::try_from( requirements: vec![UnresolvedRequirementSpecification::try_from(
RequirementEntry { RequirementEntry {
requirement, requirement,
hashes: vec![], hashes: vec![],
}, },
)?], )?],
constraints: vec![], ..Self::default()
overrides: vec![],
editables: vec![],
source_trees: vec![],
extras: FxHashSet::default(),
index_url: None,
extra_index_urls: vec![],
no_index: false,
find_links: vec![],
no_binary: NoBinary::default(),
no_build: NoBuild::default(),
} }
} }
RequirementsSource::Editable(name) => { RequirementsSource::Editable(name) => {
let requirement = EditableRequirement::parse(name, None, std::env::current_dir()?) let requirement = EditableRequirement::parse(name, None, std::env::current_dir()?)
.with_context(|| format!("Failed to parse `{name}`"))?; .with_context(|| format!("Failed to parse `{name}`"))?;
Self { Self {
project: None,
requirements: vec![],
constraints: vec![],
overrides: vec![],
editables: vec![requirement], editables: vec![requirement],
source_trees: vec![], ..Self::default()
extras: FxHashSet::default(),
index_url: None,
extra_index_urls: vec![],
no_index: false,
find_links: vec![],
no_binary: NoBinary::default(),
no_build: NoBuild::default(),
} }
} }
RequirementsSource::RequirementsTxt(path) => { RequirementsSource::RequirementsTxt(path) => {
let requirements_txt = let requirements_txt =
RequirementsTxt::parse(path, std::env::current_dir()?, client_builder).await?; RequirementsTxt::parse(path, std::env::current_dir()?, client_builder).await?;
Self { Self {
project: None,
requirements: requirements_txt requirements: requirements_txt
.requirements .requirements
.into_iter() .into_iter()
@ -121,10 +98,7 @@ impl RequirementsSpecification {
.into_iter() .into_iter()
.map(Requirement::from_pep508) .map(Requirement::from_pep508)
.collect::<Result<_, _>>()?, .collect::<Result<_, _>>()?,
overrides: vec![],
editables: requirements_txt.editables, editables: requirements_txt.editables,
source_trees: vec![],
extras: FxHashSet::default(),
index_url: requirements_txt.index_url.map(IndexUrl::from), index_url: requirements_txt.index_url.map(IndexUrl::from),
extra_index_urls: requirements_txt extra_index_urls: requirements_txt
.extra_index_urls .extra_index_urls
@ -142,6 +116,7 @@ impl RequirementsSpecification {
.collect(), .collect(),
no_binary: requirements_txt.no_binary, no_binary: requirements_txt.no_binary,
no_build: requirements_txt.only_binary, no_build: requirements_txt.only_binary,
..Self::default()
} }
} }
RequirementsSource::PyprojectToml(path) => { RequirementsSource::PyprojectToml(path) => {
@ -150,19 +125,8 @@ impl RequirementsSpecification {
.with_context(|| format!("Failed to parse `{}`", path.user_display()))? .with_context(|| format!("Failed to parse `{}`", path.user_display()))?
} }
RequirementsSource::SetupPy(path) | RequirementsSource::SetupCfg(path) => Self { RequirementsSource::SetupPy(path) | RequirementsSource::SetupCfg(path) => Self {
project: None,
requirements: vec![],
constraints: vec![],
overrides: vec![],
editables: vec![],
source_trees: vec![path.clone()], source_trees: vec![path.clone()],
extras: FxHashSet::default(), ..Self::default()
index_url: None,
extra_index_urls: vec![],
no_index: false,
find_links: vec![],
no_binary: NoBinary::default(),
no_build: NoBuild::default(),
}, },
RequirementsSource::SourceTree(path) => Self { RequirementsSource::SourceTree(path) => Self {
project: None, project: None,
@ -175,17 +139,7 @@ impl RequirementsSpecification {
}), }),
hashes: vec![], hashes: vec![],
}], }],
constraints: vec![], ..Self::default()
overrides: vec![],
editables: vec![],
source_trees: vec![],
extras: FxHashSet::default(),
index_url: None,
extra_index_urls: vec![],
no_index: false,
find_links: vec![],
no_binary: NoBinary::default(),
no_build: NoBuild::default(),
}, },
}) })
} }