mirror of
https://github.com/astral-sh/uv.git
synced 2025-10-02 23:04:37 +00:00
Respect --find-links
in lock
and sync
(#4183)
## Summary We already respect this command-line argument, I just forgot to wire it up to the resolver.
This commit is contained in:
parent
7ef362d93c
commit
04717e1a92
3 changed files with 19 additions and 4 deletions
|
@ -3,7 +3,7 @@ use anstream::eprint;
|
||||||
use distribution_types::{IndexLocations, UnresolvedRequirementSpecification};
|
use distribution_types::{IndexLocations, UnresolvedRequirementSpecification};
|
||||||
use install_wheel_rs::linker::LinkMode;
|
use install_wheel_rs::linker::LinkMode;
|
||||||
use uv_cache::Cache;
|
use uv_cache::Cache;
|
||||||
use uv_client::RegistryClientBuilder;
|
use uv_client::{FlatIndexClient, RegistryClientBuilder};
|
||||||
use uv_configuration::{
|
use uv_configuration::{
|
||||||
Concurrency, ConfigSettings, ExtrasSpecification, NoBinary, NoBuild, PreviewMode, Reinstall,
|
Concurrency, ConfigSettings, ExtrasSpecification, NoBinary, NoBuild, PreviewMode, Reinstall,
|
||||||
SetupPyStrategy, Upgrade,
|
SetupPyStrategy, Upgrade,
|
||||||
|
@ -155,7 +155,6 @@ pub(super) async fn do_lock(
|
||||||
let concurrency = Concurrency::default();
|
let concurrency = Concurrency::default();
|
||||||
let config_settings = ConfigSettings::default();
|
let config_settings = ConfigSettings::default();
|
||||||
let extras = ExtrasSpecification::default();
|
let extras = ExtrasSpecification::default();
|
||||||
let flat_index = FlatIndex::default();
|
|
||||||
let in_flight = InFlight::default();
|
let in_flight = InFlight::default();
|
||||||
let index = InMemoryIndex::default();
|
let index = InMemoryIndex::default();
|
||||||
let link_mode = LinkMode::default();
|
let link_mode = LinkMode::default();
|
||||||
|
@ -167,6 +166,13 @@ pub(super) async fn do_lock(
|
||||||
let hasher = HashStrategy::Generate;
|
let hasher = HashStrategy::Generate;
|
||||||
let options = OptionsBuilder::new().exclude_newer(exclude_newer).build();
|
let options = OptionsBuilder::new().exclude_newer(exclude_newer).build();
|
||||||
|
|
||||||
|
// Resolve the flat indexes from `--find-links`.
|
||||||
|
let flat_index = {
|
||||||
|
let client = FlatIndexClient::new(&client, cache);
|
||||||
|
let entries = client.fetch(index_locations.flat_index()).await?;
|
||||||
|
FlatIndex::from_entries(entries, tags, &hasher, &no_build, &no_binary)
|
||||||
|
};
|
||||||
|
|
||||||
// If an existing lockfile exists, build up a set of preferences.
|
// If an existing lockfile exists, build up a set of preferences.
|
||||||
let LockedRequirements { preferences, git } = read_lockfile(workspace, &upgrade).await?;
|
let LockedRequirements { preferences, git } = read_lockfile(workspace, &upgrade).await?;
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,9 @@ pub(crate) enum ProjectError {
|
||||||
#[error(transparent)]
|
#[error(transparent)]
|
||||||
Tags(#[from] platform_tags::TagsError),
|
Tags(#[from] platform_tags::TagsError),
|
||||||
|
|
||||||
|
#[error(transparent)]
|
||||||
|
FlatIndex(#[from] uv_client::FlatIndexError),
|
||||||
|
|
||||||
#[error(transparent)]
|
#[error(transparent)]
|
||||||
Lock(#[from] uv_resolver::LockError),
|
Lock(#[from] uv_resolver::LockError),
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ use anyhow::Result;
|
||||||
use distribution_types::IndexLocations;
|
use distribution_types::IndexLocations;
|
||||||
use install_wheel_rs::linker::LinkMode;
|
use install_wheel_rs::linker::LinkMode;
|
||||||
use uv_cache::Cache;
|
use uv_cache::Cache;
|
||||||
use uv_client::RegistryClientBuilder;
|
use uv_client::{FlatIndexClient, RegistryClientBuilder};
|
||||||
use uv_configuration::{
|
use uv_configuration::{
|
||||||
Concurrency, ConfigSettings, ExtrasSpecification, NoBinary, NoBuild, PreviewMode, Reinstall,
|
Concurrency, ConfigSettings, ExtrasSpecification, NoBinary, NoBuild, PreviewMode, Reinstall,
|
||||||
SetupPyStrategy,
|
SetupPyStrategy,
|
||||||
|
@ -116,7 +116,6 @@ pub(super) async fn do_sync(
|
||||||
let concurrency = Concurrency::default();
|
let concurrency = Concurrency::default();
|
||||||
let config_settings = ConfigSettings::default();
|
let config_settings = ConfigSettings::default();
|
||||||
let dry_run = false;
|
let dry_run = false;
|
||||||
let flat_index = FlatIndex::default();
|
|
||||||
let git = GitResolver::default();
|
let git = GitResolver::default();
|
||||||
let hasher = HashStrategy::default();
|
let hasher = HashStrategy::default();
|
||||||
let in_flight = InFlight::default();
|
let in_flight = InFlight::default();
|
||||||
|
@ -127,6 +126,13 @@ pub(super) async fn do_sync(
|
||||||
let reinstall = Reinstall::default();
|
let reinstall = Reinstall::default();
|
||||||
let setup_py = SetupPyStrategy::default();
|
let setup_py = SetupPyStrategy::default();
|
||||||
|
|
||||||
|
// Resolve the flat indexes from `--find-links`.
|
||||||
|
let flat_index = {
|
||||||
|
let client = FlatIndexClient::new(&client, cache);
|
||||||
|
let entries = client.fetch(index_locations.flat_index()).await?;
|
||||||
|
FlatIndex::from_entries(entries, tags, &hasher, &no_build, &no_binary)
|
||||||
|
};
|
||||||
|
|
||||||
// Create a build dispatch.
|
// Create a build dispatch.
|
||||||
let build_dispatch = BuildDispatch::new(
|
let build_dispatch = BuildDispatch::new(
|
||||||
&client,
|
&client,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue