-
Notifications
You must be signed in to change notification settings - Fork 724
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
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
andreasabel
left a comment
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...
4a663b7 to
0fe6267
Compare
|
I have updated the broken test and responded to your comments @andreasabel |
andreasabel
left a comment
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!
Mikolaj
left a comment
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.
Great job!
0fe6267 to
0f0d413
Compare
8964dee to
0f98eef
Compare
…ription This commit refactors `resolveTargets` to allow you to either resolve targets from * The output of the solver by `resolveTargetsFromSolver` * The package descriptions `resolveTargetsFromLocalPackages` This allows you to use `v2-` infrastructure with commands which don't require running the solver step (for example, v2-outdated).
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
|
This pull request has been removed from the queue for the following reason: The merge conditions cannot be satisfied due to failing checks:You may have to fix your CI before adding the pull request to the queue again. |
This commit updates the outdated command to the new v2 architecture:
outdatedcommand into a new v2-style commandv2-outdatedSince the
cabal outdatedcommand now supports the v2-architecture, you can request to run thev2-outdatedcommand on any target.I also introduced the
resolveTargetsFromLocalPackageswhich resolves which local packages targets refer to without having to run the solver. This will be useful forcabal checkas 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: significantin 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: