-
-
Notifications
You must be signed in to change notification settings - Fork 521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support recursive extras defined in pyproject.toml #2905
Conversation
Add regression test for issue tox-dev#2904
Thought about this implementation a bit and it could get stuck in an infinite loop if there is a circular extras chain. Need up update the code to only visit each extra once. Edit: latest commit avoids the infinite loop and adds a test for it; not sure if i should also add an escape hatch to the test? Currently it just gets stuck in an infinite loop and needs to be interrupted. |
Pushed another test case for when the package deps themselves reference an extra, and this currently fails. So I'm going to fix that as well and unify the extra unroll routines in |
the project depends on an extra defined within itself
Expand extras that reference an extra of the same package name to respect local changes to package metadata. Fix tox-dev#2904
411f498
to
39e0e94
Compare
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [tox](https://github.com/tox-dev/tox) ([changelog](https://tox.wiki/en/latest/changelog.html)) | dev | patch | `4.4.2` -> `4.4.3` | `4.4.5` (+1) | --- ### Release Notes <details> <summary>tox-dev/tox</summary> ### [`v4.4.3`](https://github.com/tox-dev/tox/releases/tag/4.4.3) [Compare Source](https://github.com/tox-dev/tox/compare/4.4.2...4.4.3) #### What's Changed - \[changelog.rst] typo fix by [@​sparkiegeek](https://github.com/sparkiegeek) in [https://github.com/tox-dev/tox/pull/2900](https://github.com/tox-dev/tox/pull/2900) - Support recursive extras defined in pyproject.toml by [@​masenf](https://github.com/masenf) in [https://github.com/tox-dev/tox/pull/2905](https://github.com/tox-dev/tox/pull/2905) - fix assertions in test_graph to actually test results by [@​asottile](https://github.com/asottile) in [https://github.com/tox-dev/tox/pull/2906](https://github.com/tox-dev/tox/pull/2906) - Avoid `pre-commit` `isort` crash by [@​gschaffner](https://github.com/gschaffner) in [https://github.com/tox-dev/tox/pull/2908](https://github.com/tox-dev/tox/pull/2908) - docs/faq.rst: clarify how constrain_package_deps works by [@​masenf](https://github.com/masenf) in [https://github.com/tox-dev/tox/pull/2902](https://github.com/tox-dev/tox/pull/2902) #### New Contributors - [@​sparkiegeek](https://github.com/sparkiegeek) made their first contribution in [https://github.com/tox-dev/tox/pull/2900](https://github.com/tox-dev/tox/pull/2900) - [@​gschaffner](https://github.com/gschaffner) made their first contribution in [https://github.com/tox-dev/tox/pull/2908](https://github.com/tox-dev/tox/pull/2908) **Full Changelog**: tox-dev/tox@4.4.2...4.4.3 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDEuMCIsInVwZGF0ZWRJblZlciI6IjM0LjEwMS4wIn0=--> Co-authored-by: descope[bot] <descope[bot]@users.noreply.github.com>
With this change, tox will now expand self-referential extras discovered in package deps to respect local modifications to package metadata. This allows a package extra to explicitly depend on another package extra, which previously only worked with non-static metadata.
Fix #2904
Thanks for contribution
Please, make sure you address all the checklists (for details on how see
development documentation)!
tox -e fix
)docs/changelog
folder