commit | 9d2946440a43c2adc6b3cdf09739a6dbf5e29abf | [log] [tgz] |
---|---|---|
author | Simon Stewart <simon_stewart@apple.com> | Wed Oct 14 18:56:38 2020 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Oct 14 18:57:37 2020 -0700 |
tree | 8fe6546152e23976561a6238573243df61e839cf | |
parent | 5e5eb86e5390e9e822848ccc031e0846a520858d [diff] |
Add a mechanism to configure the downloader This adds a `--experimental_remote_downloader_config` flag to the `build` command that accepts the path to a configuration file. This file has a line-based format, with each line starting with a directive and then the action to take. These directives are: * `allow hostName` Will allow access to the given host and subdomains * `block hostName` Will block access to the given host and subdomains * `rewrite pattern pattern` Rewrite a URL using the given pattern. Back references are numbered from `$1` The directives are applied in the order `rewrite, allow, block'. An example config may look like: ``` block mvnrepository.com block maven-central.storage.googleapis.com block gitblit.github.io rewrite repo.maven.apache.org/maven2/(.*) artifacts.mycorp.com/libs-release/$1 block github.com rewrite github.com/([^/]+)/([^/]+)/releases/download/([^/]+)/(.*) artifacts.mycorp.com/github-releases/$1/$2/releases/download/$3/$4 rewrite github.com/([^/]+)/([^/]+)/archive/(.+).(tar.gz|zip) artifacts.mycorp.com/api/vcs/downloadRelease/github.com/$1/$2/$3?ext=$4 ``` In addition, you can block all hosts using the `*` wildcard. Comments within the config file are allowed, and must be on their own line preceded by a `#` Closes #12170. PiperOrigin-RevId: 337219987
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md