Skip to content
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

add support for package level conflicts with groups #9130

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Commits on Nov 15, 2024

  1. uv-pypi-types: rename ConflictPackage to ConflictKind

    This makes a lot more sense as a name IMO. And I think also works better
    for the immediate future, where I plan to add a `Project` kind.
    BurntSushi committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    10d5ac1 View commit details
    Browse the repository at this point in the history
  2. uv-pypi-types: add ConflictKind::Project

    Basically, this new conflict kind means that the entire project
    conflicts with a dependency group or an extra.
    
    This just adds the variant. In the next commit, we'll actually
    make it work.
    BurntSushi committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    9026ff2 View commit details
    Browse the repository at this point in the history
  3. uv-resolver: support project-level conflicts

    Supporting project level conflicts ends up being pretty tricky, mostly
    because depenedency groups are represented as dependencies of the
    project you're trying to declare a conflict for. So by filtering out the
    project in the fork for the conflicting group, you end up filtering out
    the group itself too.
    
    To work-around this, we add a `parent` field to `PubGrubDependency`, and
    use this to filter based on project conflicts. This lets us do "delayed"
    filtering by one level.
    
    The rest of the changes in this commit are for reporting errors
    when you try to activate the group without disabling the project.
    BurntSushi committed Nov 15, 2024
    Configuration menu
    Copy the full SHA
    7fba6b5 View commit details
    Browse the repository at this point in the history