Fungsi berikut dapat dimuat dari
@bazel_tools//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_tool, patches, remote_patch_strip, remote_patches, sha256, strip_prefix, type, url, urls, workspace_file, workspace_file_content)
Mendownload repositori Bazel sebagai file arsip terkompresi, mengekstraknya, dan membuat targetnya tersedia untuk binding.
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:  
auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
machine storage.cloudprovider.com
        password RANDOM-TOKEN
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 repo utama). File tidak harus diberi nama BUILD, tetapi dapat diberi nama demikian (nama seperti BUILD.new-repo-name mungkin berguna 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 di repositori ini. build_file atau build_file_content dapat ditentukan, tetapi tidak keduanya.  | 
canonical_id | 
String; opsional
 ID kanonis arsip yang didownload. Jika ditentukan dan tidak kosong, bazel tidak akan mengambil arsip dari cache, kecuali jika arsip tersebut ditambahkan ke cache oleh permintaan dengan ID kanonis yang sama.  | 
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. Default-nya adalah -p0, tetapi -p1 biasanya diperlukan untuk patch yang dibuat oleh git. Jika beberapa argumen -p ditentukan, argumen terakhir akan diterapkan. Jika argumen selain -p ditentukan, Bazel akan kembali menggunakan alat command line patch, bukan implementasi patch native Bazel. Jika 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 program biner Bash.  | 
patch_tool | 
String; opsional
 Utilitas patch(1) yang akan digunakan. Jika ini ditentukan, Bazel akan menggunakan alat patch yang ditentukan, bukan implementasi patch native Bazel.  | 
patches | 
Daftar label; opsional
 Daftar file yang akan diterapkan sebagai patch setelah mengekstrak arsip. Secara default, atribut ini menggunakan implementasi patch native Bazel yang tidak mendukung kecocokan fuzz dan patch program biner. Namun, Bazel akan kembali menggunakan alat command line patch jika atribut `patch_tool` ditentukan atau ada argumen selain `-p` di atribut `patch_args`.  | 
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`. Atribut ini menggunakan implementasi patch native Bazel. Anda dapat menentukan jumlah penghapusan patch dengan `remote_patch_strip`  | 
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/` yang di dalamnya terdapat file `WORKSPACE` dan 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). Hal ini mencakup file/direktori yang dimulai dengan awalan, tetapi tidak ada dalam 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
 File yang akan digunakan sebagai file `WORKSPACE` untuk repositori ini. `workspace_file` atau `workspace_file_content` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya.  | 
workspace_file_content | 
String; opsional
 Konten untuk file WORKSPACE di repositori ini. `workspace_file` atau `workspace_file_content` dapat ditentukan, atau tidak keduanya, tetapi tidak keduanya.  | 
http_file
http_file(name, auth_patterns, canonical_id, downloaded_file_path, executable, integrity, netrc, 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:  
auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Authorization: Bearer RANDOM-TOKEN  | 
canonical_id | 
String; opsional
 ID kanonis arsip yang didownload. Jika ditentukan dan tidak kosong, bazel tidak akan mengambil arsip dari cache, kecuali jika arsip tersebut ditambahkan ke cache oleh permintaan dengan ID kanonis yang sama.  | 
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  | 
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.  | 
http_jar
http_jar(name, auth_patterns, canonical_id, downloaded_file_name, integrity, netrc, 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 <code>@my_ssl//jar</code> 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:  
auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
machine storage.cloudprovider.com
        password RANDOM-TOKEN
Authorization: Bearer RANDOM-TOKEN  | 
canonical_id | 
String; opsional
 ID kanonis arsip yang didownload. Jika ditentukan dan tidak kosong, bazel tidak akan mengambil arsip dari cache, kecuali jika arsip tersebut ditambahkan ke cache oleh permintaan dengan ID kanonis yang sama.  | 
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  | 
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`.  |