mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-03 18:38:21 +00:00
Unify dist error handling (#9659)
This came up when trying to improve the build error reporting. Introduces `DistErrorKind` to avoid error variants for each case that are only different in one line of the message.
This commit is contained in:
parent
dc82a84841
commit
890fb10fa1
9 changed files with 163 additions and 310 deletions
|
@ -277,26 +277,12 @@ impl<'a> BuildContext for BuildDispatch<'a> {
|
|||
.prepare(remote, &self.shared_state.in_flight)
|
||||
.await
|
||||
.map_err(|err| match err {
|
||||
uv_installer::PrepareError::DownloadAndBuild(dist, chain, err) => {
|
||||
uv_installer::PrepareError::Dist(kind, dist, chain, err) => {
|
||||
debug_assert!(chain.is_empty());
|
||||
let chain =
|
||||
DerivationChainBuilder::from_resolution(resolution, (&*dist).into())
|
||||
.unwrap_or_default();
|
||||
uv_installer::PrepareError::DownloadAndBuild(dist, chain, err)
|
||||
}
|
||||
uv_installer::PrepareError::Download(dist, chain, err) => {
|
||||
debug_assert!(chain.is_empty());
|
||||
let chain =
|
||||
DerivationChainBuilder::from_resolution(resolution, (&*dist).into())
|
||||
.unwrap_or_default();
|
||||
uv_installer::PrepareError::Download(dist, chain, err)
|
||||
}
|
||||
uv_installer::PrepareError::Build(dist, chain, err) => {
|
||||
debug_assert!(chain.is_empty());
|
||||
let chain =
|
||||
DerivationChainBuilder::from_resolution(resolution, (&*dist).into())
|
||||
.unwrap_or_default();
|
||||
uv_installer::PrepareError::Build(dist, chain, err)
|
||||
uv_installer::PrepareError::Dist(kind, dist, chain, err)
|
||||
}
|
||||
_ => err,
|
||||
})?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue