tree c531eee82dd1c36f66a6f3186a1c92219df82675
parent 636105772e5264ed2564b627ff4d09b40532f3c3
author Alex Torok <alext9@gmail.com> 1724832769 -0400
committer GitHub <noreply@github.com> 1724832769 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmztwQCRC1aQ7uu5UhlAAA9SEQAK91zAv1RanBy0u/O1lw/JWX
 H1KSwJpx2pq6d8Kkuil3sHXzVyed9aJTjiBROavBfnRUmlewB/PilIcSgYUu1mG8
 0P2ujhPFTBXbxxflOiReDUDC1qhIaNulrFCLlRhy1BPOx0yC5ETRgHcMninTHPed
 mNl/kX26SpuUHPEdesq9NZjmrMCpLfzF+IC91H2w0F9gJgKKC6yCmVz4GLl1i6Md
 I6LGZMt9VjlR6lKcChABmU1AI/hrfj5kfLcPtO/PCcTxbkFN2n+8/e+b7J6gpiX5
 U1DR5k65qXsTb3MzqwMzDKIyvTWq3vZIRJzd/bjnjbm9ibNGwTbVdGkdceOiHJbN
 HNfdT+rZX22i/pDYfZi49KXhA1ZZLL7YeYt38bEpdJ6yv+a9PgT1FAA2N7VeQSxh
 6xzTBDjBfS0ejJ8OLt1euL2sz1mFnMTeMllBKDIzpz87Cq1xjXvPHUg8qoaUaT/o
 wVFRjFwSmp5F0JZD2YiVb2jzl2/3E9yeH/xRQa7JjfFNnhbBfgoRGwPRyYCEjaDi
 dKxWYvFpOo4pcyMNSLPo7bONC0Zn0N5GM70j5NAW8u6mu1sLko4uo6qcyLl+7NKF
 b0gMhRE8OIzpTJqh6QMyXcyJuXyBiyX9Cp6kajA29Kyu3pHC/GQLC7UtbTxtq9gK
 oJLDzYBv60DYd58fBr6x
 =F70c
 -----END PGP SIGNATURE-----
 

fix(gazelle): Correctly resolve deps that have top-level module overlap with a gazelle_python.yaml dep module (#2160)

In https://github.com/bazelbuild/rules_python/pull/2048,
`FindThirdPartyDependency` was updated to walk up the module import path
to try to find a match in gazelle_python.yaml. This is unnecessary, as
the main resolve loop will accomplish the same task.

Additionally, the change broke the ability to configure a more specific
resolve override or resolve more specific indexed libraries.

For a real-world example of where this is a problem, `pytype` has a
`third_party` module at its top-level. In a repo that also has a
`third_party` directory, we can no longer resolve our indexed libraries
in `third_party`. When the resolve loop tried to resolve
`third_party.foo.bar`, `FindThirdPartyDependency` will immediately match
`third_party` and not give the resolve loop a chance to look in the rule
index for `third_party.foo.bar`.

The same issue appears for providing overrides that are more specific
(see the updated testcase).

This PR reverts the change to FindThirdPartyDependency and updates the
testcases to ensure that we can still resolve specific indexed packages,
explicit resolve overrides, and third party modules even when there is
an overlap in the top-level module name.