tree 83beb4129fa5a04a17175519ae913606405f3474
parent ebe81b7d1c0f33b62e80d2fc97e2ff1a9219b687
author yuvalk <yuvalk@gmail.com> 1681229254 +0300
committer GitHub <noreply@github.com> 1681229254 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJkNYXGCRBK7hj4Ov3rIwAAQbEIAGrm/DsQK2lcZQL0smSnv8Nc
 tNpETqml6IyeJkJLFfYjMLqVHjjFrRCI17n6qndw3ZO8jZS1wRhARGr4YLLFg/2G
 nmzm7itgF+ExtgLCL3iWsz/zqAVmyL5VQnMU+vxxpN4GlKLLwORX/PPF4cTspqQe
 VjiSJ3Kln5n6MxF1RKPDW1HsojGjP1uI1QqwPGToI1AHusrC4DhYUIFS4YPK7Q8l
 guOJDsNz5TF25yOf1CM2sQpgmA6TbO0g4dzGVu3ITqLcJGIi8KLukcT+jYRjegvM
 +J6Hf2MJxrSlE4Z+GlbBdhFItoTCyHu865gv75M+DoA1YCu1g/LNVAZWGBxKFgc=
 =yrX+
 -----END PGP SIGNATURE-----
 

feat: Support specifying multiple download URLs in tool_versions. (#1145)

The interface of `repository_ctx.download` and
`repository_ctx.download_and_extract` supports string lists as well as
strings as the value of the `url` argument. This is the ultimate
destination of the `url` attribute in the `tool_versions` dictionary, so
it makes sense for it to support lists as well.

It is often useful to provide multiple download URLs, e.g. when
vendoring deps through a mirror (to guard against issues like [git
archive checksums
changing](https://github.blog/changelog/2023-01-30-git-archive-checksums-may-change/)
while still keeping the canonical download URL) or in an airgapped
setting (to support internal URLs alongside external URLs). This is also
pretty common around Bazel repository rules that download things, e.g.
[http_archive](https://bazel.build/rules/lib/repo/http#http_archive-urls),
so it can be expected to work with `tool_versions` too.