bazeltools / bazel-deps

Generate bazel dependencies for maven artifacts
MIT License
250 stars 121 forks source link

Add support for mirroring archives #147

Open drigz opened 6 years ago

drigz commented 6 years ago

A repository outage can stop new users from building the repository (as well as from-scratch continuous builds). To provide reliable builds, Bazel's downloader relies on manually specifying mirrors for every archive that is downloaded. It would be good if bazel-deps could integrate with this.

As a user, I'd expect to either specify multiple resolvers, or specify a mirror URL (eg a Google Cloud Storage bucket). bazel-deps could then write all working URLs into workspace.bzl. Since Bazel doesn't yet provide it (as far as I'm aware) there should be some recommendation for how to populate the mirror for a given build - for example, bazel-deps could output a list of files to be mirrored.

I don't think the underlying maven_jar supports mirrors. Possibly gerrit's maven_jar.bzl could be adjusted to use Bazel's downloader (it currently shells out to curl) and upstreamed into Bazel.