tree f801da73274a8440d68674ac883ff7cd0a09a692
parent 413690fd09b068ab43ec9c1d37d20d8017747f2c
author Ignas Anikevicius <240938+aignas@users.noreply.github.com> 1727928894 +0900
committer GitHub <noreply@github.com> 1727928894 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJm/hpOCRC1aQ7uu5UhlAAAPyUQAIWqp0/x3yPneP+3nnuzX5Fz
 p9Xq7A+1gQAOSfpVpHCpw1EEdu+yjm+s0YbojKE0djqL9rnoZZ3lF1h9a3mK+XHC
 Br6egXeRtKaM2p+wCX5vgbD5VuEwIK3ZiRFWC5p7QHwRTmgKxYYVZIZu1N700eja
 3UjwFxFFlsUxWQKyWGtaHneKkElQa7ubKEQsASaliJOFvmjGOAkklvxn6r31UG5w
 wNt9R8CSPTmvV5cQnxwUh2Hxu1KBvFQ9UCbPDtnUTRA+Y15zePS23r9sB8NJdk0w
 e8HMHuqyHQG5qgWgu5wjElrxbMWGQMsbQW67SrEjbvQxJKOWdMZRzWcwbtVJBFnS
 ig3JB9F05yaGgXc3rr27Qg3k3C8G20eK1EsC5y5hn3csjZLTEogLZOw4frKzWRXc
 WhDUgp5t47U49Y+4/0dEe0IpvlxP63PQe2I5ecAxyysm+uLEE/QvYGsVYOcGTZGa
 IunBcm/3px36k7ZdHNFIY+QdXTDsJpHkBMMF75pexzc0rk84dOYokdT2vn/1qTD2
 1dLz2BmpoD9Ec6t4qA3Gog62xNAyIUibYYaF8O61PjBqB/i68LIaHqoajWAa0T+w
 lu1g9uvITqhd4Lj+ELx9DIHG/TwDLVeAHlm+0OmyoH+ZkrNIOzOLdHsMnB5kssha
 Z4Q8xwJRbhKoL43n3oMc
 =5lS2
 -----END PGP SIGNATURE-----
 

fix(bzlmod): correctly wire the extra_pip_args (#2258)

Before this PR we were just dropping the `extra_pip_args` passed to
`pip.parse` and were just using the args passed through the requirements
file. Thanks to @swarren12 for pointing this out.

This PR also passes `extra_pip_args` to `sdist` `whl_library` instances
so that users can build the `sdists` correctly when using
`experimental_index_url` feature.

Summary:
- pass `extra_pip_args` when building sdists in experimental mode
- join `extra_pip_args` from the file and the pip.parse attr
- test: add a test to ensure that the extra args are joined

Fixes #2239
Closes #2254