-
Notifications
You must be signed in to change notification settings - Fork 710
Implement v2-outdated command for cabal-install #10878
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
base: master
Are you sure you want to change the base?
Conversation
So I did a first try:
So, great improvement over the status quo already, thanks! Wishlist:
|
I agree with this, but it's the same how
Yes, I can implement this, I just ran out of steam for this initial patch. Thanks for the feedback. |
Nice, I really miss this
Does this apply to all conditionals? Just realised today that (v1) |
Yes, the bounds are collected from all conditional branches. |
What happens with bounds that can't be satisfied on the machine? (I think this might only be an issue with |
@geekosaur The way that |
aedf3e1
to
e7ea8fc
Compare
@andreasabel The output now looks like:
What do you think? Perhaps you could approve the PR if it looks good. |
fae5089
to
4a663b7
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, excellent work @mpickering !
Seems like one test output needs update still (CI broken).
I placed some comments on whether the output should be sorted/nubbed...
This commit updates the outdated command to the new v2 architecture: - Transform the old `outdated` command into a new v2-style command `v2-outdated` - Support three modes of operation: - Check for outdated dependencies in v1-style freeze file - Check for outdated dependencies in project context (cabal.project & cabal.project.freeze) - Check for outdated dependencies in local packages Since the `cabal outdated` command now supports the v2-architecture, you can request to run the `v2-outdated` command on any target. I also introduced the `resolveTargetsFromLocalPackages` which resolves which local packages targets refer to without having to run the solver. This will be useful for `cabal check` as well. A change in behaviour from before is that the package description is flattened, so all bounds will be warned about rather than those in conditional branches being ignored. Fixes #8283
4a663b7
to
0fe6267
Compare
I have updated the broken test and responded to your comments @andreasabel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tried cabal outdated all
on some project and I am very pleased with the outcome. Great work!
This commit updates the outdated command to the new v2 architecture:
outdated
command into a new v2-style commandv2-outdated
Since the
cabal outdated
command now supports the v2-architecture, you can request to run thev2-outdated
command on any target.I also introduced the
resolveTargetsFromLocalPackages
which resolves which local packages targets refer to without having to run the solver. This will be useful forcabal check
as well.A change in behaviour from before is that the package description is flattened, so all bounds will be warned about rather than those in conditional branches being ignored.
Fixes #8283
Please read Github PR Conventions and then fill in one of these two templates.
Template Α: This PR modifies behaviour or interface
Include the following checklist in your PR:
significance: significant
in the changelog file.Template B: This PR does not modify behaviour or interface
E.g. the PR only touches documentation or tests, does refactorings, etc.
Include the following checklist in your PR: