Proposal for new error messages when you're using ...
# general
h
Proposal for new error messages when you're using multiple resolves/lockfiles & deps aren't comaptible! Feedback very much appreciated before I start programming - this is gonna be non-trivial to implement https://github.com/pantsbuild/pants/issues/14864#issuecomment-1117648575
👀 1
1) I'm thinking we should probably skip round 1 and go straight to step 2, due to the NOTE at the top of round 1. Thoughts? 2) suggestions on the table formatting in round 2? I'm concerned it will cause soft-wrapping in terminals and be hard to read. I don't know how to better present this data
cc @witty-crayon-22786 @polite-garden-50641 @ambitious-student-81104 @quiet-evening-25363
w
one really quick comment here: this will only trigger for explicit dependencies, right? for inferred dependencies, you won’t see this error: you just won’t get the dep. so possibly worth bounding the time spent on this one, and allocating some time for that one (the “no source of this dep in this resolve, but there was a source in …“)
h
for inferred dependencies, you won’t see this error: you just won’t get the dep.
That is an even bigger issue. We do not eagerly error for missing dependencies unless you opt into the mechanism @bitter-ability-32190 added To improve the experience there, I think that we need to default to eagerly erroring? Probably a better experience anyways?
w
i think that there is probably a middle ground for “not in this resolve, but is in that other resolve”, without necessarily enabling warnings by default. but possibly.
but… i do agree that it is a “larger” issue, in the sense that inferred dependencies are more common than explicit
👍 1
h
so possibly worth bounding the time spent on this one
Given how much of a differentiator multiple resolves is + important for incremental migrations, I think that it is probably prudent to invest the time in improving explicit dependencies with "round two" It is way too hard for people to manually figure out what problematic dependencies are. I had a tough time with it with tool chain as the author of most this code 😬
question 3) what should we cherry pick 2.10 and 2.11? I think this issue would be fine because it only improves an error message the proposal of tackling dependency inference is bigger in adding new output when we had none
imo, we should not bend over backwards to cherry pick to 2.10 given that 2.11 is stable, and that multiple resolves are a new feature… anyone who isn’t already using them can wait until 2.11 to migrate to them.
👍 1
h
w
Given how much of a differentiator multiple resolves is + important for incremental migrations, I think that it is probably prudent to invest the time in improving explicit dependencies with “round two”
as mentioned on the ticket, i don’t think that explicit dependencies are common enough (especially for incremental migrations: people should be getting deps via inference, not adding them manually) for that to be worthwhile.
anyway: can move discussion there probably.
thanks a lot!