aturan repositori http

Laporkan masalah Lihat sumber Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

Fungsi berikut dapat dimuat dari @bazel_tools//tools/build_defs/repo:http.bzl.

Aturan untuk mendownload file dan arsip melalui HTTP.

Penyiapan

Untuk menggunakan aturan ini dalam ekstensi modul, muat aturan tersebut dalam file .bzl Anda, lalu panggil dari fungsi penerapan ekstensi Anda. Misalnya, untuk menggunakan http_archive:

load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

def _my_extension_impl(mctx):
  http_archive(name = "foo", urls = [...])

my_extension = module_extension(implementation = _my_extension_impl)

Atau, Anda dapat langsung memanggil aturan repo ini dalam file MODULE.bazel dengan use_repo_rule:

http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(name = "foo", urls = [...])

http_archive

load("@bazel//tools/build_defs/repo:http.bzl", "http_archive")

http_archive(name, add_prefix, auth_patterns, build_file, build_file_content, canonical_id,
             integrity, netrc, patch_args, patch_cmds, patch_cmds_win, patch_strip, patch_tool,
             patches, remote_file_integrity, remote_file_urls, remote_module_file_integrity,
             remote_module_file_urls, remote_patch_strip, remote_patches, repo_mapping, sha256,
             strip_prefix, type, url, urls, workspace_file, workspace_file_content)

Mendownload repositori Bazel sebagai file arsip terkompresi, mengekstraknya, dan membuat targetnya tersedia untuk pengikatan.

API ini mendukung ekstensi file berikut: "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", "tar.zst", "tzst", tar.bz2, "ar", atau "deb".

Contoh: Misalkan repositori saat ini berisi kode sumber untuk program chat, yang berakar di direktori ~/chat-app. Aplikasi ini harus bergantung pada library SSL yang tersedia dari http://example.com/openssl.zip. File .zip ini berisi struktur direktori berikut:

  WORKSPACE
  src/
    openssl.cc
    openssl.h

Di repositori lokal, pengguna membuat file openssl.BUILD yang berisi definisi target berikut:

  cc_library(
      name = "openssl-lib",
      srcs = ["src/openssl.cc"],
      hdrs = ["src/openssl.h"],
  )

Target di repositori ~/chat-app dapat bergantung pada target ini jika baris berikut ditambahkan ke ~/chat-app/WORKSPACE:

  load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

  http_archive(
      name = "my_ssl",
      url = "http://example.com/openssl.zip",
      sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      build_file = "@//:openssl.BUILD",
  )

Kemudian, target akan menentukan @my_ssl//:openssl-lib sebagai dependensi.

ATRIBUT

name Nama; wajib

Nama unik untuk repositori ini.

add_prefix String; opsional

Direktori tujuan relatif terhadap direktori repositori. Arsip akan diekstrak ke direktori ini, setelah menerapkan `strip_prefix` (jika ada) ke jalur file dalam arsip. Misalnya, file `foo-1.2.3/src/foo.h` akan diekstrak ke `bar/src/foo.h` jika `add_prefix = "bar"` dan `strip_prefix = "foo-1.2.3"`.

auth_patterns Dictionary: String -> String; opsional

Dict opsional yang memetakan nama host ke pola otorisasi kustom. Jika nama host URL ada dalam dict ini, nilai tersebut akan digunakan sebagai pola saat membuat header otorisasi untuk permintaan http. Hal ini memungkinkan penggunaan skema otorisasi kustom yang digunakan di banyak penyedia penyimpanan cloud umum. Pola saat ini mendukung 2 token: <login> dan <password>, yang diganti dengan nilai yang setara dalam file netrc untuk nama host yang sama. Setelah diformat, hasilnya ditetapkan sebagai nilai untuk kolom Authorization permintaan HTTP. Contoh atribut dan netrc untuk download http ke API yang mendukung oauth2 menggunakan token pemilik:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Permintaan HTTP akhir akan memiliki header berikut:
Authorization: Bearer RANDOM-TOKEN

build_file Label; opsional

File yang akan digunakan sebagai file BUILD untuk repositori ini.Atribut ini adalah label absolut (gunakan '@//' untuk repositori utama). File tidak harus diberi nama BUILD, tetapi bisa (sesuatu seperti BUILD.new-repo-name mungkin berfungsi dengan baik untuk membedakannya dari file BUILD sebenarnya di repositori. build_file atau build_file_content dapat ditentukan, tetapi tidak keduanya.

build_file_content String; opsional

Konten untuk file BUILD untuk repositori ini. build_file atau build_file_content dapat ditentukan, tetapi tidak keduanya.

canonical_id String; opsional

ID kanonis file yang didownload. Jika ditentukan dan tidak kosong, Bazel tidak akan mengambil file dari cache, kecuali jika file tersebut ditambahkan ke cache oleh permintaan dengan ID kanonis yang sama. Jika tidak ditentukan atau kosong, Bazel secara default menggunakan URL file sebagai ID kanonis. Hal ini membantu mendeteksi kesalahan umum dalam memperbarui URL tanpa memperbarui hash, sehingga menghasilkan build yang berhasil secara lokal, tetapi gagal di komputer tanpa file dalam cache. Perilaku ini dapat dinonaktifkan dengan --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0.

integrity String; opsional

Checksum yang diharapkan dalam format Subresource Integrity dari file yang didownload. Checksum ini harus cocok dengan checksum file yang didownload. _Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah._ Paling tidak, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi atribut ini atau `sha256` harus ditetapkan sebelum pengiriman.

netrc String; opsional

Lokasi file .netrc yang akan digunakan untuk autentikasi

patch_args Daftar string; opsional

Argumen yang diberikan ke alat patch. Secara default adalah -p0 (lihat atribut `patch_strip`), tetapi -p1 biasanya diperlukan untuk patch yang dibuat oleh git. Jika beberapa argumen -p ditentukan, argumen terakhir akan berlaku.Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat command line patch, bukan penerapan patch native Bazel. Saat kembali ke alat command line patch dan atribut patch_tool tidak ditentukan, `patch` akan digunakan. Hal ini hanya memengaruhi file patch dalam atribut `patches`.

patch_cmds Daftar string; opsional

Urutan perintah Bash yang akan diterapkan di Linux/MacOS setelah patch diterapkan.

patch_cmds_win Daftar string; opsional

Urutan perintah Powershell yang akan diterapkan di Windows setelah patch diterapkan. Jika atribut ini tidak ditetapkan, patch_cmds akan dieksekusi di Windows, yang memerlukan keberadaan biner Bash.

patch_strip Bilangan bulat; opsional

Jika disetel ke `N`, ini setara dengan menyisipkan `-pN` ke awal `patch_args`.

patch_tool String; opsional

Utilitas patch(1) yang akan digunakan. Jika ditentukan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch bawaan Bazel.

patches Daftar label; opsional

Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, perintah ini menggunakan implementasi patch native Bazel yang tidak mendukung pencocokan fuzzy dan patch biner, tetapi Bazel akan melakukan fallback untuk menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau ada argumen selain `-p` dalam atribut `patch_args`.

remote_file_integrity Dictionary: String -> String; opsional

Peta jalur relatif file (kunci) ke nilai integritasnya (nilai). Jalur relatif ini harus dipetakan ke file (kunci) dalam atribut `remote_file_urls`.

remote_file_urls Dictionary: String -> List of strings; opsional

Peta jalur relatif (kunci) ke daftar URL (nilai) yang akan didownload dan tersedia sebagai file overlay di repo. Hal ini berguna saat Anda ingin menambahkan file WORKSPACE atau BUILD.bazel di atas repositori yang ada. File didownload sebelum menerapkan patch dalam atribut `patches` dan semua URL dalam daftar harus berupa mirror yang memungkinkan dari file yang sama. URL dicoba secara berurutan hingga salah satunya berhasil.

remote_module_file_integrity String; opsional

Khusus penggunaan internal.

remote_module_file_urls Daftar string; opsional

Khusus penggunaan internal.

remote_patch_strip Bilangan bulat; opsional

Jumlah garis miring di awal yang akan dihapus dari nama file dalam patch jarak jauh.

remote_patches Dictionary: String -> String; opsional

Peta URL file patch ke nilai integritasnya, diterapkan setelah mengekstrak arsip dan sebelum menerapkan file patch dari atribut `patches`. Menggunakan penerapan patch native Bazel, Anda dapat menentukan jumlah strip patch dengan `remote_patch_strip`

repo_mapping Dictionary: String -> String; opsional

Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`), repositori ini sebenarnya harus menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul).

sha256 String; opsional

SHA-256 yang diharapkan dari file yang didownload. Nilai ini harus cocok dengan SHA-256 file yang didownload. _Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah._ Paling tidak, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi atribut ini atau `integritas` harus ditetapkan sebelum pengiriman.

strip_prefix String; opsional

Awalan direktori yang akan dihapus dari file yang diekstrak. Banyak arsip berisi direktori tingkat teratas yang berisi semua file berguna dalam arsip. Daripada harus menentukan awalan ini berulang kali dalam `build_file`, kolom ini dapat digunakan untuk menghapusnya dari semua file yang diekstrak. Misalnya, Anda menggunakan `foo-lib-latest.zip`, yang berisi direktori `foo-lib-1.2.3/` dengan file `WORKSPACE` di dalamnya, serta direktori `src/`, `lib/`, dan `test/` yang berisi kode sebenarnya yang ingin Anda bangun. Tentukan `strip_prefix = "foo-lib-1.2.3"` untuk menggunakan direktori `foo-lib-1.2.3` sebagai direktori level teratas Anda. Perhatikan bahwa jika ada file di luar direktori ini, file tersebut akan dihapus dan tidak dapat diakses (misalnya, file lisensi tingkat teratas). Ini mencakup file/direktori yang dimulai dengan awalan, tetapi tidak ada di direktori (misalnya, `foo-lib-1.2.3.release-notes`). Jika awalan yang ditentukan tidak cocok dengan direktori dalam arsip, Bazel akan menampilkan error.

type String; opsional

Jenis arsip file yang didownload. Secara default, jenis arsip ditentukan dari ekstensi file URL. Jika file tidak memiliki ekstensi, Anda dapat menentukan salah satu ekstensi berikut secara eksplisit: `"zip"`, `"jar"`, `"war"`, `"aar"`, `"tar"`, `"tar.gz"`, `"tgz"`, `"tar.xz"`, `"txz"`, `"tar.zst"`, `"tzst"`, `"tar.bz2"`, `"ar"`, atau `"deb"`.

url String; opsional

URL ke file yang akan tersedia untuk Bazel. Harus berupa file, URL http, atau URL https. Pengalihan diikuti. Autentikasi tidak didukung. Fleksibilitas yang lebih besar dapat dicapai dengan parameter URL yang memungkinkan untuk menentukan URL alternatif yang akan diambil.

urls Daftar string; opsional

Daftar URL ke file yang akan tersedia untuk Bazel. Setiap entri harus berupa file, URL http, atau URL https. Pengalihan diikuti. Autentikasi tidak didukung. URL dicoba secara berurutan hingga salah satunya berhasil, jadi Anda harus mencantumkan mirror lokal terlebih dahulu. Jika semua download gagal, aturan akan gagal.

workspace_file Label; opsional

Atribut no-op; jangan gunakan.

workspace_file_content String; opsional

Atribut no-op; jangan gunakan.

VARIABEL LINGKUNGAN

Aturan repositori ini bergantung pada variabel lingkungan berikut:

  • BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID

http_file

load("@bazel//tools/build_defs/repo:http.bzl", "http_file")

http_file(name, auth_patterns, canonical_id, downloaded_file_path, executable, integrity, netrc,
          repo_mapping, sha256, url, urls)

Mendownload file dari URL dan menyediakannya untuk digunakan sebagai grup file.

Contoh: Misalkan Anda memerlukan paket debian untuk aturan kustom. Paket ini tersedia dari http://example.com/package.deb. Kemudian, Anda dapat menambahkan ke file WORKSPACE:

  load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file")

  http_file(
      name = "my_deb",
      url = "http://example.com/package.deb",
      sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  )

Target akan menentukan @my_deb//file sebagai dependensi untuk bergantung pada file ini.

ATRIBUT

name Nama; wajib

Nama unik untuk repositori ini.

auth_patterns Dictionary: String -> String; opsional

Dict opsional yang memetakan nama host ke pola otorisasi kustom. Jika nama host URL ada dalam dict ini, nilai tersebut akan digunakan sebagai pola saat membuat header otorisasi untuk permintaan http. Hal ini memungkinkan penggunaan skema otorisasi kustom yang digunakan di banyak penyedia penyimpanan cloud umum. Pola saat ini mendukung 2 token: <login> dan <password>, yang diganti dengan nilai yang setara dalam file netrc untuk nama host yang sama. Setelah diformat, hasilnya ditetapkan sebagai nilai untuk kolom Authorization permintaan HTTP. Contoh atribut dan netrc untuk download http ke API yang mendukung oauth2 menggunakan token pemilik:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Permintaan HTTP akhir akan memiliki header berikut:
Authorization: Bearer RANDOM-TOKEN

canonical_id String; opsional

ID kanonis file yang didownload. Jika ditentukan dan tidak kosong, Bazel tidak akan mengambil file dari cache, kecuali jika file tersebut ditambahkan ke cache oleh permintaan dengan ID kanonis yang sama. Jika tidak ditentukan atau kosong, Bazel secara default menggunakan URL file sebagai ID kanonis. Hal ini membantu mendeteksi kesalahan umum dalam memperbarui URL tanpa memperbarui hash, sehingga menghasilkan build yang berhasil secara lokal, tetapi gagal di komputer tanpa file dalam cache. Perilaku ini dapat dinonaktifkan dengan --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0.

downloaded_file_path String; opsional

Jalur yang ditetapkan ke file yang didownload

executable Boolean; opsional

Jika file yang didownload harus dapat dieksekusi.

integrity String; opsional

Checksum yang diharapkan dalam format Subresource Integrity dari file yang didownload. Checksum ini harus cocok dengan checksum file yang didownload. _Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah._ Paling tidak, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi atribut ini atau `sha256` harus ditetapkan sebelum pengiriman.

netrc String; opsional

Lokasi file .netrc yang akan digunakan untuk autentikasi

repo_mapping Dictionary: String -> String; opsional

Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`), repositori ini sebenarnya harus menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul).

sha256 String; opsional

SHA-256 yang diharapkan dari file yang didownload. Nilai ini harus cocok dengan SHA-256 file yang didownload. _Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah._ Paling tidak, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Opsional untuk mempermudah pengembangan, tetapi harus disetel sebelum pengiriman.

url String; opsional

URL ke file yang akan tersedia untuk Bazel. Harus berupa file, URL http, atau URL https. Pengalihan diikuti. Autentikasi tidak didukung. Fleksibilitas yang lebih besar dapat dicapai dengan parameter URL yang memungkinkan untuk menentukan URL alternatif yang akan diambil.

urls Daftar string; opsional

Daftar URL ke file yang akan tersedia untuk Bazel. Setiap entri harus berupa file, URL http, atau URL https. Pengalihan diikuti. Autentikasi tidak didukung. URL dicoba secara berurutan hingga salah satunya berhasil, jadi Anda harus mencantumkan mirror lokal terlebih dahulu. Jika semua download gagal, aturan akan gagal.

VARIABEL LINGKUNGAN

Aturan repositori ini bergantung pada variabel lingkungan berikut:

  • BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID

http_jar

load("@bazel//tools/build_defs/repo:http.bzl", "http_jar")

http_jar(name, auth_patterns, canonical_id, downloaded_file_name, integrity, netrc, repo_mapping,
         sha256, url, urls)

Mendownload jar dari URL dan menyediakannya sebagai java_import

File yang didownload harus memiliki ekstensi .jar.

Contoh: Misalkan repositori saat ini berisi kode sumber untuk program chat, yang berakar di direktori ~/chat-app. Library ini perlu bergantung pada library SSL yang tersedia dari http://example.com/openssl-0.2.jar.

Target di repositori ~/chat-app dapat bergantung pada target ini jika baris berikut ditambahkan ke ~/chat-app/WORKSPACE:

  load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_jar")

  http_jar(
      name = "my_ssl",
      url = "http://example.com/openssl-0.2.jar",
      sha256 = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  )

Target akan menentukan @my_ssl//jar sebagai dependensi untuk bergantung pada JAR ini.

Anda juga dapat mereferensikan file di sistem saat ini (localhost) menggunakan "file:///path/to/file" jika Anda menggunakan sistem berbasis Unix. Jika Anda menggunakan Windows, gunakan "file:///c:/path/to/file". Dalam kedua contoh, perhatikan tiga garis miring (/) -- dua garis miring pertama adalah milik file:// dan yang ketiga adalah milik jalur absolut ke file.

ATRIBUT

name Nama; wajib

Nama unik untuk repositori ini.

auth_patterns Dictionary: String -> String; opsional

Dict opsional yang memetakan nama host ke pola otorisasi kustom. Jika nama host URL ada dalam dict ini, nilai tersebut akan digunakan sebagai pola saat membuat header otorisasi untuk permintaan http. Hal ini memungkinkan penggunaan skema otorisasi kustom yang digunakan di banyak penyedia penyimpanan cloud umum. Pola saat ini mendukung 2 token: <login> dan <password>, yang diganti dengan nilai yang setara dalam file netrc untuk nama host yang sama. Setelah diformat, hasilnya ditetapkan sebagai nilai untuk kolom Authorization permintaan HTTP. Contoh atribut dan netrc untuk download http ke API yang mendukung oauth2 menggunakan token pemilik:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Permintaan HTTP akhir akan memiliki header berikut:
Authorization: Bearer RANDOM-TOKEN

canonical_id String; opsional

ID kanonis file yang didownload. Jika ditentukan dan tidak kosong, Bazel tidak akan mengambil file dari cache, kecuali jika file tersebut ditambahkan ke cache oleh permintaan dengan ID kanonis yang sama. Jika tidak ditentukan atau kosong, Bazel secara default menggunakan URL file sebagai ID kanonis. Hal ini membantu mendeteksi kesalahan umum dalam memperbarui URL tanpa memperbarui hash, sehingga menghasilkan build yang berhasil secara lokal, tetapi gagal di komputer tanpa file dalam cache. Perilaku ini dapat dinonaktifkan dengan --repo_env=BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID=0.

downloaded_file_name String; opsional

Nama file yang ditetapkan ke jar yang didownload

integrity String; opsional

Checksum yang diharapkan dalam format Subresource Integrity dari file yang didownload. Checksum ini harus cocok dengan checksum file yang didownload. _Menghilangkan checksum merupakan risiko keamanan karena file jarak jauh dapat berubah._ Paling tidak, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi atribut ini atau `sha256` harus ditetapkan sebelum pengiriman.

netrc String; opsional

Lokasi file .netrc yang akan digunakan untuk autentikasi

repo_mapping Dictionary: String -> String; opsional

Hanya dalam konteks `WORKSPACE`: kamus dari nama repositori lokal ke nama repositori global. Hal ini memungkinkan kontrol atas penyelesaian dependensi ruang kerja untuk dependensi repositori ini. Misalnya, entri `"@foo": "@bar"` menyatakan bahwa, untuk setiap saat repositori ini bergantung pada `@foo` (seperti dependensi pada `@foo//some:target`), repositori ini sebenarnya harus menyelesaikan dependensi tersebut dalam `@bar` yang dideklarasikan secara global (`@bar//some:target`). Atribut ini _tidak_ didukung dalam konteks `MODULE.bazel` (saat memanggil aturan repositori di dalam fungsi penerapan ekstensi modul).

sha256 String; opsional

SHA-256 yang diharapkan dari file yang didownload. Nilai ini harus cocok dengan SHA-256 file yang didownload. _Menghilangkan SHA-256 merupakan risiko keamanan karena file jarak jauh dapat berubah._ Paling tidak, menghilangkan kolom ini akan membuat build Anda tidak hermetik. Atribut ini bersifat opsional untuk mempermudah pengembangan, tetapi atribut ini atau `integritas` harus ditetapkan sebelum pengiriman.

url String; opsional

URL ke file yang akan tersedia untuk Bazel. Harus berupa file, URL http, atau URL https. Pengalihan diikuti. Autentikasi tidak didukung. Fleksibilitas yang lebih besar dapat dicapai dengan parameter URL yang memungkinkan untuk menentukan URL alternatif yang akan diambil. URL harus diakhiri dengan `.jar`.

urls Daftar string; opsional

Daftar URL ke file yang akan tersedia untuk Bazel. Setiap entri harus berupa file, URL http, atau URL https. Pengalihan diikuti. Autentikasi tidak didukung. URL dicoba secara berurutan hingga salah satunya berhasil, jadi Anda harus mencantumkan mirror lokal terlebih dahulu. Jika semua download gagal, aturan akan gagal. Semua URL harus diakhiri dengan `.jar`.

VARIABEL LINGKUNGAN

Aturan repositori ini bergantung pada variabel lingkungan berikut:

  • BAZEL_HTTP_RULES_URLS_AS_DEFAULT_CANONICAL_ID