Warn when using uv_build settings without uv_build#15750
Conversation
crates/uv-build-frontend/src/lib.rs
Outdated
| "There are settings for the `uv_build` build backend defined in \ | ||
| `tool.uv.build-backend`, but the project does not use the `uv_build` backend: {}", |
There was a problem hiding this comment.
One potential drawback is that we assume that all future versions will have build-system = "uv_build".
fad531f to
0226753
Compare
crates/uv/tests/it/build_backend.rs
Outdated
| warning: There are settings for the `uv_build` build backend defined in `tool.uv.build-backend`, but the project does not use the `uv_build` backend: [TEMP_DIR]/pyproject.toml | ||
| Building wheel from source distribution... | ||
| warning: There are settings for the `uv_build` build backend defined in `tool.uv.build-backend`, but the project does not use the `uv_build` backend: [CACHE_DIR]/sdists-v9/[TMP]/pyproject.toml |
There was a problem hiding this comment.
Can we avoid warning multiple times here?
There was a problem hiding this comment.
I need to figure our something that works despite the different paths
There was a problem hiding this comment.
I've removed the path, it's clearer this was got Git dependencies too.
crates/uv/tests/it/build_backend.rs
Outdated
|
|
||
| ----- stderr ----- | ||
| Building source distribution... | ||
| warning: There are settings for the `uv_build` build backend defined in `tool.uv.build-backend`, but the project does not use the `uv_build` backend: [TEMP_DIR]/pyproject.toml |
There was a problem hiding this comment.
We might want to rephrase so it's clearer what we're referring to at the end, e.g., "but the uv_build backend is not used by the project at: PATH"
44c9302 to
a7d14f7
Compare
This comment was marked as off-topic.
This comment was marked as off-topic.
a7d14f7 to
9c5cf83
Compare
crates/uv-build-frontend/src/lib.rs
Outdated
| // Show name/version where available to avoid showing a (duplicate) warning with | ||
| // a temporary path. |
There was a problem hiding this comment.
(I'm not sure I'd understand this comment without the context from this pull request review)
crates/uv/tests/it/build_backend.rs
Outdated
|
|
||
| ----- stderr ----- | ||
| Building source distribution... | ||
| warning: `pyproject.toml` of project==0.1.0 defines settings for `uv_build` in `tool.uv.build-backend`, but does not use `uv_build` |
There was a problem hiding this comment.
Does it make sense to say "pyproject.toml of"? Isn't that the only place it can be defined?
Does it make sense to say the version? If it's first-party, isn't the version just noise? (and it's present in the built file name too if really helpful).
I think I'd be confused about what it means that it doesn't use uv_build, maybe it'd help to show the other backend?
I think I might say
project-name defines settings for
uv_buildintool.uv.build-backend, but does not useuv_build()
where <hint> is like
(no
build-systemis defined)
or
(
build-systemuseshatchling)
There was a problem hiding this comment.
I've updated the hint to show only the package name and also show the actual build backend
9c5cf83 to
1975616
Compare
1975616 to
0912eea
Compare
| Err(err) => Err(Box::new(err.into())), | ||
| } | ||
|
|
||
| let backend = if let Some(build_system) = pyproject_toml.build_system { |
0912eea to
bb4e82e
Compare
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [uv](https://github.com/astral-sh/uv) | patch | `0.10.7` → `0.10.9` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (uv)</summary> ### [`v0.10.9`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0109) [Compare Source](astral-sh/uv@0.10.8...0.10.9) Released on 2026-03-06. ##### Enhancements - Add `fbgemm-gpu`, `fbgemm-gpu-genai`, `torchrec`, and `torchtune` to the PyTorch list ([#​18338](astral-sh/uv#18338)) - Add torchcodec to PyTorch List ([#​18336](astral-sh/uv#18336)) - Log the duration we took before erroring ([#​18231](astral-sh/uv#18231)) - Warn when using `uv_build` settings without `uv_build` ([#​15750](astral-sh/uv#15750)) - Add fallback to `/usr/lib/os-release` on Linux system lookup failure ([#​18349](astral-sh/uv#18349)) - Use `cargo auditable` to include SBOM in uv builds ([#​18276](astral-sh/uv#18276)) ##### Configuration - Add an environment variable for `UV_VENV_RELOCATABLE` ([#​18331](astral-sh/uv#18331)) ##### Performance - Avoid toml `Document` overhead ([#​18306](astral-sh/uv#18306)) - Use a single global workspace cache ([#​18307](astral-sh/uv#18307)) ##### Bug fixes - Continue on trampoline job assignment failures ([#​18291](astral-sh/uv#18291)) - Handle the hard link limit gracefully instead of failing ([#​17699](astral-sh/uv#17699)) - Respect build constraints for workspace members ([#​18350](astral-sh/uv#18350)) - Revalidate editables and other dependencies in scripts ([#​18328](astral-sh/uv#18328)) - Support Python 3.13+ on Android ([#​18301](astral-sh/uv#18301)) - Support `cp3-none-any` ([#​17064](astral-sh/uv#17064)) - Skip tool environments with broken links to Python on Windows ([#​17176](astral-sh/uv#17176)) ##### Documentation - Add documentation for common marker values ([#​18327](astral-sh/uv#18327)) - Improve documentation on virtual dependencies ([#​18346](astral-sh/uv#18346)) ### [`v0.10.8`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0108) [Compare Source](astral-sh/uv@0.10.7...0.10.8) Released on 2026-03-03. ##### Python - Add CPython 3.10.20 - Add CPython 3.11.15 - Add CPython 3.12.13 ##### Enhancements - Add Docker images based on Docker Hardened Images ([#​18247](astral-sh/uv#18247)) - Add resolver hint when `--exclude-newer` filters out all versions of a package ([#​18217](astral-sh/uv#18217)) - Configure a real retry minimum delay of 1s ([#​18201](astral-sh/uv#18201)) - Expand `uv_build` direct build compatibility ([#​17902](astral-sh/uv#17902)) - Fetch CPython from an Astral mirror by default ([#​18207](astral-sh/uv#18207)) - Download uv releases from an Astral mirror in installers by default ([#​18191](astral-sh/uv#18191)) - Add SBOM attestations to Docker images ([#​18252](astral-sh/uv#18252)) - Improve hint for installing meson-python when missing as build backend ([#​15826](astral-sh/uv#15826)) ##### Configuration - Add `UV_INIT_BARE` environment variable for `uv init` ([#​18210](astral-sh/uv#18210)) ##### Bug fixes - Prevent `uv tool upgrade` from installing excluded dependencies ([#​18022](astral-sh/uv#18022)) - Promote authentication policy when saving tool receipts ([#​18246](astral-sh/uv#18246)) - Respect exclusions in scripts ([#​18269](astral-sh/uv#18269)) - Retain default-branch Git SHAs in `pylock.toml` files ([#​18227](astral-sh/uv#18227)) - Skip installed Python check for URL dependencies ([#​18211](astral-sh/uv#18211)) - Respect constraints during `--upgrade` ([#​18226](astral-sh/uv#18226)) - Fix `uv tree` orphaned roots and premature deduplication ([#​17212](astral-sh/uv#17212)) ##### Documentation - Mention cooldown and tweak inline script metadata in dependency bots documentation ([#​18230](astral-sh/uv#18230)) - Move cache prune in GitLab to `after_script` ([#​18206](astral-sh/uv#18206)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My40OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90IiwiYXV0b21hdGlvbjpib3QtYXV0aG9yZWQiLCJkZXBlbmRlbmN5LXR5cGU6OnBhdGNoIl19-->

To help with cases such as #15655.
A question is when to show this warning. I've used sources as a proxy as URL dependencies with enabled sources are likely those controlled by the user, and they include workspace and
git cloned path dependencies.The first commit is a refactoring, the second commit the implementation.
Fixes #15740