Omit extra in resolver progress (#623)

Closes #621.
This commit is contained in:
Charlie Marsh 2023-12-12 12:41:18 -05:00 committed by GitHub
parent 6c7f5cb846
commit 3aaab32a9d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 28 deletions

View file

@ -6,7 +6,6 @@ use indicatif::{MultiProgress, ProgressBar, ProgressStyle};
use url::Url; use url::Url;
use distribution_types::{CachedDist, Dist, Metadata, SourceDist, VersionOrUrl}; use distribution_types::{CachedDist, Dist, Metadata, SourceDist, VersionOrUrl};
use puffin_normalize::ExtraName;
use puffin_normalize::PackageName; use puffin_normalize::PackageName;
use crate::printer::Printer; use crate::printer::Printer;
@ -217,27 +216,14 @@ impl From<Printer> for ResolverReporter {
} }
impl puffin_resolver::ResolverReporter for ResolverReporter { impl puffin_resolver::ResolverReporter for ResolverReporter {
fn on_progress( fn on_progress(&self, name: &PackageName, version_or_url: VersionOrUrl) {
&self, match version_or_url {
name: &PackageName, VersionOrUrl::Version(version) => {
extra: Option<&ExtraName>,
version_or_url: VersionOrUrl,
) {
match (extra, version_or_url) {
(None, VersionOrUrl::Version(version)) => {
self.progress.set_message(format!("{name}=={version}")); self.progress.set_message(format!("{name}=={version}"));
} }
(None, VersionOrUrl::Url(url)) => { VersionOrUrl::Url(url) => {
self.progress.set_message(format!("{name} @ {url}")); self.progress.set_message(format!("{name} @ {url}"));
} }
(Some(extra), VersionOrUrl::Version(version)) => {
self.progress
.set_message(format!("{name}[{extra}]=={version}"));
}
(Some(extra), VersionOrUrl::Url(url)) => {
self.progress
.set_message(format!("{name}[{extra}] @ {url}"));
}
} }
} }

View file

@ -24,7 +24,7 @@ use platform_tags::Tags;
use puffin_cache::CanonicalUrl; use puffin_cache::CanonicalUrl;
use puffin_client::RegistryClient; use puffin_client::RegistryClient;
use puffin_distribution::{DistributionDatabase, DistributionDatabaseError}; use puffin_distribution::{DistributionDatabase, DistributionDatabaseError};
use puffin_normalize::{ExtraName, PackageName}; use puffin_normalize::PackageName;
use puffin_traits::{BuildContext, OnceMap}; use puffin_traits::{BuildContext, OnceMap};
use pypi_types::{IndexUrl, Metadata21}; use pypi_types::{IndexUrl, Metadata21};
@ -711,15 +711,11 @@ impl<'a, Provider: ResolverProvider> Resolver<'a, Provider> {
if let Some(reporter) = self.reporter.as_ref() { if let Some(reporter) = self.reporter.as_ref() {
match package { match package {
PubGrubPackage::Root(_) => {} PubGrubPackage::Root(_) => {}
PubGrubPackage::Package(package_name, extra, Some(url)) => { PubGrubPackage::Package(package_name, _extra, Some(url)) => {
reporter.on_progress(package_name, extra.as_ref(), VersionOrUrl::Url(url)); reporter.on_progress(package_name, VersionOrUrl::Url(url));
} }
PubGrubPackage::Package(package_name, extra, None) => { PubGrubPackage::Package(package_name, _extra, None) => {
reporter.on_progress( reporter.on_progress(package_name, VersionOrUrl::Version(version.into()));
package_name,
extra.as_ref(),
VersionOrUrl::Version(version.into()),
);
} }
} }
} }
@ -736,7 +732,7 @@ pub type BuildId = usize;
pub trait Reporter: Send + Sync { pub trait Reporter: Send + Sync {
/// Callback to invoke when a dependency is resolved. /// Callback to invoke when a dependency is resolved.
fn on_progress(&self, name: &PackageName, extra: Option<&ExtraName>, version: VersionOrUrl); fn on_progress(&self, name: &PackageName, version: VersionOrUrl);
/// Callback to invoke when the resolution is complete. /// Callback to invoke when the resolution is complete.
fn on_complete(&self); fn on_complete(&self);