https://pantsbuild.org/ logo
#development
Title
# development
h

hundreds-father-404

05/04/2022, 11:05 PM
I'm making some wording improvements to
[python-infer].unowned_dependency_behavior
. One issue w/ its
warn
mode is it can be extremely verbose -- we give you general guidance how to solve it, but repeat that with every problematic file! Ditto on ambiguous dependencies Any ideas how we can make this less verbose when in warn mode? "Look at this web page to learn more"? "Look at the log above to learn more"?
w

witty-crayon-22786

05/04/2022, 11:09 PM
ambiguity is definitely noisy… have thought that we might want to move ambiguity warnings to mapping computation time, rather than symbol/package lookup time. then you could dedupe, and group by file providing a symbol.
unowned_dependency_behavior
should be much less verbose though, right?
👍 1
💯 1
(although i suppose it depends on the repo you’re enabling in.)
h

hundreds-father-404

05/04/2022, 11:10 PM
unowned_dependency_behavior should be much less verbose though, right?
I feel in my gut pretty strongly that we will want to error rather than warn, although still trying to build the argument for why I believe this If we default to error, I'm less worried as the error is one file at a time (but batches all imports in the file)
ambiguity is definitely noisy… have thought that we might want to move ambiguity warnings to mapping computation time, rather than symbol/package lookup time. then you could dedupe, and group by file providing a symbol.
I like it. I also think we might want to offer an option to error, and possibly even default to it FYI the reason we before had to wait until import-time is pre-multiple lockfiles, it was valid to have multiple 3rd-party conflicting deps and callers would choose. Now they should choose via resolve Wait but still not sure we can do it actually. It's valid to have 5 targets for a test, all w/ the same resolve
w

witty-crayon-22786

05/04/2022, 11:13 PM
i don’t know of a good way to actually show a user all errors and still error. you’d need batching, or some scope in which they were all collected before failing
(…or make it fallible, similar to JVM/go compilation)
Wait but still not sure we can do it actually. It’s valid to have 5 targets for a test, all w/ the same resolve
true… would need some element of laziness still, to not actually render for the first time unless you consumed it.
👍 1