mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 19:08:04 +00:00
Support editable in pip-sync and pip-compile (#587)
Support `-e path/do/dir` in pip-sync and and pip-compile.
This commit is contained in:
parent
f62458f600
commit
f059c6e6a6
47 changed files with 1016 additions and 250 deletions
|
@ -13,13 +13,13 @@ use tracing::{debug, instrument};
|
|||
use distribution_types::{CachedDist, Metadata, Resolution};
|
||||
use pep508_rs::Requirement;
|
||||
use platform_tags::Tags;
|
||||
use puffin_build::{BuildKind, SourceBuild, SourceBuildContext};
|
||||
use puffin_build::{SourceBuild, SourceBuildContext};
|
||||
use puffin_cache::Cache;
|
||||
use puffin_client::RegistryClient;
|
||||
use puffin_installer::{Downloader, InstallPlan, Installer, Reinstall};
|
||||
use puffin_interpreter::{Interpreter, Virtualenv};
|
||||
use puffin_resolver::{Manifest, ResolutionOptions, Resolver};
|
||||
use puffin_traits::{BuildContext, OnceMap};
|
||||
use puffin_traits::{BuildContext, BuildKind, OnceMap};
|
||||
use pypi_types::IndexUrls;
|
||||
|
||||
/// The main implementation of [`BuildContext`], used by the CLI, see [`BuildContext`]
|
||||
|
@ -131,7 +131,6 @@ impl BuildContext for BuildDispatch {
|
|||
venv.root().display(),
|
||||
);
|
||||
|
||||
let markers = self.interpreter.markers();
|
||||
let tags = Tags::from_interpreter(&self.interpreter)?;
|
||||
|
||||
let InstallPlan {
|
||||
|
@ -139,13 +138,14 @@ impl BuildContext for BuildDispatch {
|
|||
remote,
|
||||
reinstalls,
|
||||
extraneous,
|
||||
editables: _,
|
||||
} = InstallPlan::from_requirements(
|
||||
&resolution.requirements(),
|
||||
&Reinstall::None,
|
||||
&[],
|
||||
&self.index_urls,
|
||||
self.cache(),
|
||||
venv,
|
||||
markers,
|
||||
&tags,
|
||||
)?;
|
||||
|
||||
|
@ -212,12 +212,13 @@ impl BuildContext for BuildDispatch {
|
|||
})
|
||||
}
|
||||
|
||||
#[instrument(skip_all, fields(source_dist = source_dist, subdirectory = ?subdirectory))]
|
||||
#[instrument(skip_all, fields(package_id = package_id, subdirectory = ?subdirectory))]
|
||||
fn setup_build<'a>(
|
||||
&'a self,
|
||||
source: &'a Path,
|
||||
subdirectory: Option<&'a Path>,
|
||||
source_dist: &'a str,
|
||||
package_id: &'a str,
|
||||
build_kind: BuildKind,
|
||||
) -> Pin<Box<dyn Future<Output = Result<SourceBuild>> + Send + 'a>> {
|
||||
Box::pin(async move {
|
||||
if self.no_build {
|
||||
|
@ -229,8 +230,8 @@ impl BuildContext for BuildDispatch {
|
|||
&self.interpreter,
|
||||
self,
|
||||
self.source_build_context.clone(),
|
||||
source_dist.to_string(),
|
||||
BuildKind::Wheel,
|
||||
package_id.to_string(),
|
||||
build_kind,
|
||||
)
|
||||
.await?;
|
||||
Ok(builder)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue