mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 10:58:28 +00:00
Add priorities for editables (#3133)
## Summary We weren't setting a priority for editables, so they were being visited last. I think there's still a problem whereby we're not aggressive enough in visiting recursive extras (and, in fact, that's making it really hard to write a test -- I wrote a test, but the most-reduced case still fails, and I'd need to add a layer of indirection to make it fail-on-main-but-pass-on-this-branch), but that problem likely already existed on main prior to #3087, so I just want to get this quick fix out now. Closes https://github.com/astral-sh/uv/issues/3127. ## Test Plan - `git clone https://github.com/cda-tum/mqt-core.git` - `cargo run venv` - `cargo run pip install 'scikit-build-core[pyproject]>=0.8.1' 'setuptools_scm>=7' 'pybind11>=2.12' --resolution=lowest-direct` - `cargo run pip install --no-build-isolation '-ve.[test,qiskit,evaluation,coverage]' --resolution=lowest-direct`
This commit is contained in:
parent
2e88bb6f1b
commit
a241bc79b1
1 changed files with 16 additions and 9 deletions
|
@ -831,10 +831,17 @@ impl<
|
|||
|
||||
// Add a dependency on each editable.
|
||||
for (editable, metadata) in self.editables.iter() {
|
||||
constraints.push(
|
||||
PubGrubPackage::from_package(metadata.name.clone(), None, &self.urls),
|
||||
Range::singleton(metadata.version.clone()),
|
||||
);
|
||||
let package =
|
||||
PubGrubPackage::from_package(metadata.name.clone(), None, &self.urls);
|
||||
let version = Range::singleton(metadata.version.clone());
|
||||
|
||||
// Update the package priorities.
|
||||
priorities.insert(&package, &version);
|
||||
|
||||
// Add the editable as a direct dependency.
|
||||
constraints.push(package, version);
|
||||
|
||||
// Add a dependency on each extra.
|
||||
for extra in &editable.extras {
|
||||
constraints.push(
|
||||
PubGrubPackage::from_package(
|
||||
|
@ -891,7 +898,7 @@ impl<
|
|||
)?;
|
||||
|
||||
for (dep_package, dep_version) in constraints.iter() {
|
||||
debug!("Adding transitive dependency for {package}{version}: {dep_package}{dep_version}");
|
||||
debug!("Adding transitive dependency for {package}=={version}: {dep_package}{dep_version}");
|
||||
|
||||
// Update the package priorities.
|
||||
priorities.insert(dep_package, dep_version);
|
||||
|
@ -999,14 +1006,14 @@ impl<
|
|||
self.markers,
|
||||
)?;
|
||||
|
||||
for (package, version) in constraints.iter() {
|
||||
debug!("Adding transitive dependency: {package}{version}");
|
||||
for (dep_package, dep_version) in constraints.iter() {
|
||||
debug!("Adding transitive dependency for {package}=={version}: {dep_package}{dep_version}");
|
||||
|
||||
// Update the package priorities.
|
||||
priorities.insert(package, version);
|
||||
priorities.insert(dep_package, dep_version);
|
||||
|
||||
// Emit a request to fetch the metadata for this package.
|
||||
self.visit_package(package, request_sink).await?;
|
||||
self.visit_package(dep_package, request_sink).await?;
|
||||
}
|
||||
|
||||
Ok(Dependencies::Available(constraints.into()))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue