Revert "Remove duplicate warning for settings discovery errors (#7384)" (#7594)

## Summary

This reverts commit 3060fd22c0.

These are now _never_ shown to users, because `tracing` isn't set up at
that point. I'm going to try and improve the solution more holistically,
but this is better than the status quo.

Closes https://github.com/astral-sh/uv/issues/7573.
This commit is contained in:
Charlie Marsh 2024-09-20 14:18:40 -04:00 committed by GitHub
parent 2c6d353711
commit 85af2732ea
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 35 additions and 4 deletions

View file

@ -1,10 +1,10 @@
use std::ops::Deref; use std::ops::Deref;
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use tracing::{debug, warn}; use tracing::debug;
use uv_fs::Simplified; use uv_fs::Simplified;
use uv_warnings::owo_colors::OwoColorize; use uv_warnings::warn_user;
pub use crate::combine::*; pub use crate::combine::*;
pub use crate::settings::*; pub use crate::settings::*;
@ -74,7 +74,7 @@ impl FilesystemOptions {
} }
Err(Error::PyprojectToml(file, err)) => { Err(Error::PyprojectToml(file, err)) => {
// If we see an invalid `pyproject.toml`, warn but continue. // If we see an invalid `pyproject.toml`, warn but continue.
warn!( warn_user!(
"Failed to parse `{}` during settings discovery:\n{}", "Failed to parse `{}` during settings discovery:\n{}",
file.cyan(), file.cyan(),
textwrap::indent(&err.to_string(), " ") textwrap::indent(&err.to_string(), " ")
@ -107,7 +107,7 @@ impl FilesystemOptions {
.and_then(|content| toml::from_str::<PyProjectToml>(&content).ok()) .and_then(|content| toml::from_str::<PyProjectToml>(&content).ok())
{ {
if pyproject.tool.is_some_and(|tool| tool.uv.is_some()) { if pyproject.tool.is_some_and(|tool| tool.uv.is_some()) {
warn!( warn_user!(
"Found both a `uv.toml` file and a `[tool.uv]` section in an adjacent `pyproject.toml`. The `[tool.uv]` section will be ignored in favor of the `uv.toml` file." "Found both a `uv.toml` file and a `[tool.uv]` section in an adjacent `pyproject.toml`. The `[tool.uv]` section will be ignored in favor of the `uv.toml` file."
); );
} }

View file

@ -13005,6 +13005,13 @@ fn lock_duplicate_sources() -> Result<()> {
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
warning: Failed to parse `pyproject.toml` during settings discovery:
TOML parse error at line 9, column 9
|
9 | python-multipart = { url = "https://files.pythonhosted.org/packages/c0/3e/9fbfd74e7f5b54f653f7ca99d44ceb56e718846920162165061c4c22b71a/python_multipart-0.0.8-py3-none-any.whl" }
| ^
duplicate key `python-multipart` in table `tool.uv.sources`
error: Failed to parse: `pyproject.toml` error: Failed to parse: `pyproject.toml`
Caused by: TOML parse error at line 9, column 9 Caused by: TOML parse error at line 9, column 9
| |

View file

@ -3285,6 +3285,15 @@ fn override_dependency_from_workspace_invalid_syntax() -> Result<()> {
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
warning: Failed to parse `pyproject.toml` during settings discovery:
TOML parse error at line 9, column 29
|
9 | override-dependencies = [
| ^
no such comparison operator "=", must be one of ~= == != <= >= < > ===
werkzeug=2.3.0
^^^^^^
error: Failed to parse: `pyproject.toml` error: Failed to parse: `pyproject.toml`
Caused by: TOML parse error at line 9, column 29 Caused by: TOML parse error at line 9, column 29
| |

View file

@ -92,6 +92,13 @@ fn invalid_pyproject_toml_syntax() -> Result<()> {
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
warning: Failed to parse `pyproject.toml` during settings discovery:
TOML parse error at line 1, column 5
|
1 | 123 - 456
| ^
expected `.`, `=`
error: Failed to parse: `pyproject.toml` error: Failed to parse: `pyproject.toml`
Caused by: TOML parse error at line 1, column 5 Caused by: TOML parse error at line 1, column 5
| |

View file

@ -2950,6 +2950,7 @@ fn resolve_both() -> anyhow::Result<()> {
} }
----- stderr ----- ----- stderr -----
warning: Found both a `uv.toml` file and a `[tool.uv]` section in an adjacent `pyproject.toml`. The `[tool.uv]` section will be ignored in favor of the `uv.toml` file.
"### "###
); );

View file

@ -495,6 +495,13 @@ fn create_venv_warns_user_on_requires_python_discovery_error() -> Result<()> {
----- stdout ----- ----- stdout -----
----- stderr ----- ----- stderr -----
warning: Failed to parse `pyproject.toml` during settings discovery:
TOML parse error at line 1, column 9
|
1 | invalid toml
| ^
expected `.`, `=`
warning: Failed to parse: `pyproject.toml` warning: Failed to parse: `pyproject.toml`
Using Python 3.12.[X] interpreter at: [PYTHON-3.12] Using Python 3.12.[X] interpreter at: [PYTHON-3.12]
Creating virtual environment at: .venv Creating virtual environment at: .venv