mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-04 10:58:28 +00:00
Add context to unregistered task name to error context (#4471)
I caused this error during development and having the name of the task on it is helpful for debugging. Split out from #4435
This commit is contained in:
parent
64e07b68a8
commit
40f852687b
3 changed files with 11 additions and 10 deletions
|
@ -36,8 +36,8 @@ pub enum ResolveError {
|
||||||
#[error(transparent)]
|
#[error(transparent)]
|
||||||
Join(#[from] tokio::task::JoinError),
|
Join(#[from] tokio::task::JoinError),
|
||||||
|
|
||||||
#[error("Attempted to wait on an unregistered task")]
|
#[error("Attempted to wait on an unregistered task: `{_0}`")]
|
||||||
Unregistered,
|
UnregisteredTask(String),
|
||||||
|
|
||||||
#[error("Package metadata name `{metadata}` does not match given name `{given}`")]
|
#[error("Package metadata name `{metadata}` does not match given name `{given}`")]
|
||||||
NameMismatch {
|
NameMismatch {
|
||||||
|
|
|
@ -74,7 +74,7 @@ impl BatchPrefetcher {
|
||||||
let versions_response = index
|
let versions_response = index
|
||||||
.packages()
|
.packages()
|
||||||
.wait_blocking(name)
|
.wait_blocking(name)
|
||||||
.ok_or(ResolveError::Unregistered)?;
|
.ok_or_else(|| ResolveError::UnregisteredTask(name.to_string()))?;
|
||||||
|
|
||||||
let VersionsResponse::Found(ref version_map) = *versions_response else {
|
let VersionsResponse::Found(ref version_map) = *versions_response else {
|
||||||
return Ok(());
|
return Ok(());
|
||||||
|
|
|
@ -726,7 +726,7 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
||||||
.index
|
.index
|
||||||
.distributions()
|
.distributions()
|
||||||
.wait_blocking(&dist.version_id())
|
.wait_blocking(&dist.version_id())
|
||||||
.ok_or(ResolveError::Unregistered)?;
|
.ok_or_else(|| ResolveError::UnregisteredTask(dist.version_id().to_string()))?;
|
||||||
|
|
||||||
// If we failed to fetch the metadata for a URL, we can't proceed.
|
// If we failed to fetch the metadata for a URL, we can't proceed.
|
||||||
let metadata = match &*response {
|
let metadata = match &*response {
|
||||||
|
@ -819,7 +819,7 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
||||||
.index
|
.index
|
||||||
.packages()
|
.packages()
|
||||||
.wait_blocking(name)
|
.wait_blocking(name)
|
||||||
.ok_or(ResolveError::Unregistered)?;
|
.ok_or_else(|| ResolveError::UnregisteredTask(name.to_string()))?;
|
||||||
visited.insert(name.clone());
|
visited.insert(name.clone());
|
||||||
|
|
||||||
let version_maps = match *versions_response {
|
let version_maps = match *versions_response {
|
||||||
|
@ -991,13 +991,14 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
||||||
Some(url) => PubGrubDistribution::from_url(name, url),
|
Some(url) => PubGrubDistribution::from_url(name, url),
|
||||||
None => PubGrubDistribution::from_registry(name, version),
|
None => PubGrubDistribution::from_registry(name, version),
|
||||||
};
|
};
|
||||||
let version_id = dist.version_id();
|
|
||||||
|
|
||||||
// Wait for the metadata to be available.
|
// Wait for the metadata to be available.
|
||||||
self.index
|
self.index
|
||||||
.distributions()
|
.distributions()
|
||||||
.wait_blocking(&version_id)
|
.wait_blocking(&dist.version_id())
|
||||||
.ok_or(ResolveError::Unregistered)?;
|
.ok_or_else(|| {
|
||||||
|
ResolveError::UnregisteredTask(dist.version_id().to_string())
|
||||||
|
})?;
|
||||||
|
|
||||||
return Ok(Dependencies::Available(Vec::default()));
|
return Ok(Dependencies::Available(Vec::default()));
|
||||||
}
|
}
|
||||||
|
@ -1027,7 +1028,7 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
||||||
.index
|
.index
|
||||||
.distributions()
|
.distributions()
|
||||||
.wait_blocking(&version_id)
|
.wait_blocking(&version_id)
|
||||||
.ok_or(ResolveError::Unregistered)?;
|
.ok_or_else(|| ResolveError::UnregisteredTask(version_id.to_string()))?;
|
||||||
|
|
||||||
let metadata = match &*response {
|
let metadata = match &*response {
|
||||||
MetadataResponse::Found(archive) => &archive.metadata,
|
MetadataResponse::Found(archive) => &archive.metadata,
|
||||||
|
@ -1343,7 +1344,7 @@ impl<InstalledPackages: InstalledPackagesProvider> ResolverState<InstalledPackag
|
||||||
.packages()
|
.packages()
|
||||||
.wait(&package_name)
|
.wait(&package_name)
|
||||||
.await
|
.await
|
||||||
.ok_or(ResolveError::Unregistered)?;
|
.ok_or_else(|| ResolveError::UnregisteredTask(package_name.to_string()))?;
|
||||||
|
|
||||||
let version_map = match *versions_response {
|
let version_map = match *versions_response {
|
||||||
VersionsResponse::Found(ref version_map) => version_map,
|
VersionsResponse::Found(ref version_map) => version_map,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue