-
Notifications
You must be signed in to change notification settings - Fork 25
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
Implement why-depends
command
#53
base: master
Are you sure you want to change the base?
Conversation
why-depends
commandwhy-depends
command
Ping. |
fbe58d7
to
500ebf1
Compare
Ping. Because I just found myself wanting this. |
@phadej Would you mind reviewing this PR? |
@fendor: Time for the next ping. |
could be this part of the incoming |
@andreasabel I'm undecided about And this looks like that, except that output has extra leaves... I'd expect
Like output (i.e. a bit terser). Also I'm not sure about the cli UI. The |
It doesn't have extra leaves, it doesn't print the full path to a dependency, if the path has already been explored before. I am also not sure about the cli UI. The proposed UI makes it a bit more complicated to figure out the dependencies between a testsuite and its dependencies. However, I am also fine with it. |
Ok I see, in
there is This behavior makes sense for |
I would like to see some options like But I’m also fine with those being added later. |
Implementation idea is to re-use printing logic from
dumpPlanJson
and filtering the existingPlanJson
to only contain packages that have in some dependency closure the given dependency.Implementation details: uses the state monad to speed up logic (feedback welcome if this can be improved)
Example invocations:
Output
Output
Due to pattern to unit-id translation, this can also be used to get a
why-depends
for between dependenciesOutput
Default to single target if only other target is "setup":
Output
Unknown target:
Output
Ambiguous target:
Output
No transitive dependency between targets.
Output