uv/crates/uv-build-backend
Tomasz Kramkowski f01366bae8
Noisily allow redundant entries in `tool.uv.build-backend.module-name` (#16928)
## Summary

Fix #16906 by pruning modules or submodules which are already included
(either directly, or through a parent).

Generates warnings when this happens.

Example:

```bash session
$ uv build
Building source distribution (uv build backend)...
warning: Ignoring redundant module name(s): test_lib.bar test_lib test_lib.bar.baz test_lib.baz
Building wheel from source distribution (uv build backend)...
Successfully built dist/test-0.1.0.tar.gz
Successfully built dist/test-0.1.0-py3-none-any.whl
```

## Test Plan

Added some unit tests for the pruning function and one for the whole
build backend. Added an integration test for the warnings. Ran the full
test suite. Manually tested.

The unit test for the function doesn't cater for the fact that it
doesn't guarantee an order at the moment. I think this is fine.

---------

Co-authored-by: konsti <konstin@mailbox.org>
2025-12-03 10:05:28 +00:00
..
src Noisily allow redundant entries in `tool.uv.build-backend.module-name` (#16928) 2025-12-03 10:05:28 +00:00
Cargo.toml Bump version to 0.9.15 (#16942) 2025-12-02 17:48:28 -06:00
README.md Link to the uv version in crates.io member READMEs (#16939) 2025-12-02 20:02:22 +00:00

README.md

uv-build-backend

This crate is an internal component of uv. The Rust API exposed here is unstable and will have frequent breaking changes.

This version (0.0.4) is a component of uv 0.9.14. The source can be found here.

See uv's crate versioning policy for details on versioning.