กฎที่เก็บ HTTP

รายงานปัญหา ดูแหล่งที่มา /3} /4} {3/4} {3/4} {3/4} {3/4} /4.

ฟังก์ชันต่อไปนี้โหลดได้จาก @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)

ดาวน์โหลดที่เก็บ Bazel เป็นไฟล์ที่เก็บถาวรซึ่งบีบอัด ขยายข้อมูล และทำให้เป้าหมายพร้อมสำหรับการเชื่อมโยง

ซึ่งรองรับนามสกุลไฟล์ต่อไปนี้ "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz", "tar.zst", "tzst", tar.bz2, "ar" หรือ "deb"

ตัวอย่าง: สมมติว่าที่เก็บปัจจุบันมีซอร์สโค้ดสำหรับโปรแกรมแชท ซึ่งรูทที่ไดเรกทอรี ~/chat-app โดยต้องขึ้นอยู่กับไลบรารี SSL ซึ่งมีให้ที่ http://example.com/openssl.zip ไฟล์ .zip นี้มีโครงสร้างไดเรกทอรีต่อไปนี้

  WORKSPACE
  src/
    openssl.cc
    openssl.h

ในที่เก็บในเครื่อง ผู้ใช้สร้างไฟล์ openssl.BUILD ซึ่งมีคำจำกัดความเป้าหมายต่อไปนี้

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

เป้าหมายในที่เก็บ ~/chat-app อาจขึ้นอยู่กับเป้าหมายนี้หากเพิ่มบรรทัดต่อไปนี้ไปยัง ~/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",
  )

เป้าหมายจะระบุ @my_ssl//:openssl-lib เป็นทรัพยากร Dependency

Attributes

name ชื่อ ต้องระบุ

ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้

add_prefix สตริง ไม่บังคับ

ไดเรกทอรีปลายทางที่สัมพันธ์กับไดเรกทอรีที่เก็บ ระบบจะคลายการแพคข้อมูลที่เก็บถาวรลงในไดเรกทอรีนี้หลังจากใช้ "strip_prefix" (หากมี) กับเส้นทางไฟล์ภายในที่เก็บถาวร ตัวอย่างเช่น ไฟล์ `foo-1.2.3/src/foo.h` จะถูกคลายการแพคไปยัง `bar/src/foo.h` หาก `add_prefix = "bar"` และ `strip_prefix = "foo-1.2.3"`

auth_patterns พจนานุกรม: สตริง -> สตริง ไม่บังคับ

ไม่บังคับให้แมปชื่อโฮสต์กับรูปแบบการให้สิทธิ์ที่กำหนดเอง หากมีชื่อโฮสต์ของ URL ในคำสั่งนี้ ระบบจะใช้ค่านี้เป็นรูปแบบเมื่อสร้างส่วนหัวการให้สิทธิ์สำหรับคำขอ HTTP ซึ่งช่วยให้สามารถใช้รูปแบบการให้สิทธิ์ที่กำหนดเองซึ่งใช้ในผู้ให้บริการพื้นที่เก็บข้อมูลระบบคลาวด์ทั่วไปหลายราย รูปแบบปัจจุบันรองรับโทเค็น 2 รายการ ได้แก่ <login> และ <password> ซึ่งแทนที่ด้วยค่าที่เทียบเท่าในไฟล์ netrc สำหรับชื่อโฮสต์เดียวกัน หลังจากฟอร์แมต ระบบจะตั้งค่าผลลัพธ์เป็นค่าสำหรับช่อง Authorization ของคำขอ HTTP ตัวอย่างแอตทริบิวต์และ netrc สำหรับการดาวน์โหลด http ไปยัง API ที่เปิดใช้ oauth2 โดยใช้โทเค็นสำหรับผู้ถือ:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
คำขอ HTTP สุดท้ายจะมีส่วนหัวต่อไปนี้
Authorization: Bearer RANDOM-TOKEN

build_file ป้ายกำกับ ไม่บังคับ

ไฟล์ที่จะใช้เป็นไฟล์ BUILD สำหรับที่เก็บนี้ แอตทริบิวต์นี้เป็นป้ายกำกับแบบสัมบูรณ์ (ใช้ "@//" สำหรับที่เก็บหลัก) ไฟล์นี้ไม่จำเป็นต้องตั้งชื่อว่า BUILD แต่สามารถเป็น (ชื่ออย่างเช่น BUILD.new-repo-name อาจเหมาะที่จะแยกออกจากไฟล์ BUILD จริงของที่เก็บ สามารถระบุbuild_file หรือbuild_file_content อย่างใดอย่างหนึ่งเท่านั้น

build_file_content สตริง ไม่บังคับ

เนื้อหาของไฟล์ BUILD สำหรับที่เก็บนี้ สามารถระบุbuild_file หรือbuild_file_content อย่างใดอย่างหนึ่งเท่านั้น

canonical_id สตริง ไม่บังคับ

รหัส Canonical ของที่เก็บถาวรที่ดาวน์โหลด หากระบุไว้และไม่ว่างเปล่า Bazel จะไม่นำที่เก็บถาวรออกจากแคช เว้นแต่จะมีการเพิ่มที่เก็บถาวรลงในแคชโดยคำขอที่มีรหัส Canonical เดียวกัน

integrity สตริง ไม่บังคับ

checksum ที่คาดไว้ในรูปแบบความสมบูรณ์ของทรัพยากรย่อยของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับ checksum ของไฟล์ที่ดาวน์โหลด _การละเว้นการตรวจสอบข้อผิดพลาดนั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้_ การละเว้นฟิลด์นี้จะทำให้งานสร้างแบบไม่อยู่ภายใต้เงื่อนไข ไม่จำเป็นต้องทำให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าแอตทริบิวต์นี้หรือ "sha256" ก่อนจัดส่ง

netrc สตริง ไม่บังคับ

ตำแหน่งของไฟล์ .netrc ที่จะใช้สำหรับการตรวจสอบสิทธิ์

patch_args รายการสตริง ไม่บังคับ

อาร์กิวเมนต์ที่ให้ในเครื่องมือแพตช์ ค่าเริ่มต้นจะเป็น -p0 แต่โดยปกติแล้วจะต้องใช้ -p1 สำหรับแพตช์ที่สร้างโดย git หากระบุอาร์กิวเมนต์ -p หลายรายการ อาร์กิวเมนต์สุดท้ายจะมีผล หากระบุอาร์กิวเมนต์อื่นที่ไม่ใช่ -p ไว้ Bazel จะกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์แทนการใช้งานแพตช์ของ Bazel เมื่อกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์และไม่ได้ระบุแอตทริบิวต์ Patch_tool ระบบจะใช้ "patch" การดำเนินการนี้จะมีผลกับไฟล์แพตช์ในแอตทริบิวต์ "patches" เท่านั้น

patch_cmds รายการสตริง ไม่บังคับ

ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์

patch_cmds_win รายการสตริง ไม่บังคับ

ลำดับของคำสั่ง Powershell ที่จะนำไปใช้ใน Windows หลังจากใช้แพตช์ หากไม่ได้ตั้งค่าแอตทริบิวต์นี้ ระบบจะดำเนินการ Patch_cmds ใน Windows ซึ่งต้องมีไบนารีของ Bash

patch_tool สตริง ไม่บังคับ

โปรแกรมแพตช์(1) ที่จะใช้ หากระบุไว้ Bazel จะใช้เครื่องมือแพตช์ที่ระบุแทนการติดตั้งใช้งานแพตช์ของ Bazel เนทีฟ

patches รายการป้ายกำกับ ไม่บังคับ

รายการไฟล์ที่จะใช้เป็นแพตช์หลังจากแตกไฟล์ที่เก็บถาวร โดยค่าเริ่มต้น โมเดลจะใช้การติดตั้งแพตช์ของ Bazel ซึ่งไม่รองรับการจับคู่ Fuzz Match และแพตช์ไบนารี แต่ Bazel จะกลับไปใช้เครื่องมือบรรทัดคำสั่งแพตช์หากมีการระบุแอตทริบิวต์ "patch_tool" หรือมีอาร์กิวเมนต์อื่นที่ไม่ใช่ "-p" ในแอตทริบิวต์ "patch_args"

remote_patch_strip จำนวนเต็ม (ไม่บังคับ)

จำนวนสแลชนำหน้าที่จะนำออกจากชื่อไฟล์ในแพตช์ระยะไกล

remote_patches พจนานุกรม: สตริง -> สตริง ไม่บังคับ

แมป URL ของไฟล์แพตช์กับค่าความสมบูรณ์ ระบบจะใช้ค่าดังกล่าวหลังจากแยกที่เก็บถาวรและก่อนใช้ไฟล์แพตช์จากแอตทริบิวต์ "patches" โดยใช้การติดตั้งใช้งานแพตช์ Bazel เนทีฟ คุณระบุหมายเลขแถบแพตช์ได้ด้วย "remote_patch_strip"

sha256 สตริง ไม่บังคับ

SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับ SHA-256 ของไฟล์ที่ดาวน์โหลด _การละเว้น SHA-256 นั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้_ การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่ทำงาน คุณไม่จำเป็นต้องทำให้การพัฒนาง่ายขึ้น แต่ควรกำหนดแอตทริบิวต์นี้หรือ "integrity" ก่อนจัดส่ง

strip_prefix สตริง ไม่บังคับ

คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก ที่เก็บถาวรจำนวนมากมีไดเรกทอรีระดับบนสุดที่มีไฟล์ที่มีประโยชน์ทั้งหมดในที่เก็บถาวร แทนที่จะต้องระบุคำนำหน้านี้ซ้ำไปซ้ำมาใน "build_file" คุณสามารถใช้ช่องนี้เพื่อตัดส่วนดังกล่าวออกจากไฟล์ที่ดึงมาทั้งหมด ตัวอย่างเช่น สมมติว่าคุณใช้ไดเรกทอรี "foo-lib-latest.zip" ซึ่งมีไดเรกทอรี "foo-lib-1.2.3/" ใต้ที่มีไฟล์ `WORKSPACE" และไดเรกทอรี `src/`, `lib/` และ `test/` ซึ่งมีโค้ดจริงที่คุณต้องการสร้าง ระบุ `strip_prefix = "foo-lib-1.2.3"` เพื่อใช้ไดเรกทอรี "foo-lib-1.2.3" เป็นไดเรกทอรีระดับบนสุด โปรดทราบว่าหากมีไฟล์ที่อยู่นอกไดเรกทอรีนี้ ไฟล์ดังกล่าวจะถูกยกเลิกและไม่สามารถเข้าถึงได้ (เช่น ไฟล์ใบอนุญาตระดับบนสุด) ซึ่งรวมถึงไฟล์/ไดเรกทอรีที่เริ่มต้นด้วยคำนำหน้าแต่ไม่อยู่ในไดเรกทอรี (เช่น "foo-lib-1.2.3.release-notes") หากคำนำหน้าที่ระบุไม่ตรงกับไดเรกทอรีในที่เก็บถาวร Bazel จะส่งกลับข้อผิดพลาด

type สตริง ไม่บังคับ

ประเภทที่เก็บถาวรของไฟล์ที่ดาวน์โหลด โดยค่าเริ่มต้น ประเภทที่เก็บถาวรจะกำหนดจากนามสกุลไฟล์ของ URL หากไฟล์ไม่มีนามสกุล คุณสามารถระบุอย่างใดอย่างหนึ่งต่อไปนี้อย่างชัดเจน ""zip"`, `"jar"`, `"war"`, `"aar"`, `"tar"`, `"tar.gz"`, `"tgz"`, `"tar.xz"`, `"txz"`, `"st `"t. `"

url สตริง ไม่บังคับ

URL ไปยังไฟล์ที่จะทำให้ Bazel ใช้งานได้ URL นี้ต้องเป็นไฟล์, http หรือ https มีการเปลี่ยนเส้นทาง ไม่รองรับการตรวจสอบสิทธิ์ คุณมีความยืดหยุ่นมากขึ้นได้ด้วยพารามิเตอร์ URL ที่ช่วยระบุ URL อื่นที่ต้องการดึงข้อมูล

urls รายการสตริง ไม่บังคับ

รายการ URL ไปยังไฟล์ที่จะทำให้ Bazel ใช้งานได้ แต่ละรายการต้องเป็น URL ของไฟล์, http หรือ https มีการเปลี่ยนเส้นทาง ไม่รองรับการตรวจสอบสิทธิ์ ระบบจะลองใช้ URL ตามลำดับจนกว่าจะสำเร็จ คุณจึงควรแสดงรายการมิเรอร์ในเครื่องก่อน หากดาวน์โหลดทั้งหมดไม่สำเร็จ กฎก็จะล้มเหลว

workspace_file ป้ายกำกับ ไม่บังคับ

ไฟล์ที่จะใช้เป็นไฟล์ "WORKSPACE" สำหรับที่เก็บนี้ ต้องระบุ "workspace_file" หรือ "workspace_file_content" หรือจะระบุทั้ง 2 อย่างไม่ได้

workspace_file_content สตริง ไม่บังคับ

เนื้อหาของไฟล์ WORKSPACE สำหรับที่เก็บนี้ ต้องระบุ "workspace_file" หรือ "workspace_file_content" หรือจะระบุทั้ง 2 อย่างไม่ได้

http_file

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

ดาวน์โหลดไฟล์จาก URL และทำให้ใช้เป็นกลุ่มไฟล์ได้

ตัวอย่าง: สมมติว่าคุณต้องมีแพ็กเกจ debian สำหรับกฎที่กำหนดเอง แพ็กเกจนี้มีให้บริการจาก http://example.com/package.deb จากนั้นคุณจะเพิ่มลงในไฟล์ 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",
  )

เป้าหมายจะระบุ @my_deb//file เป็นทรัพยากร Dependency เพื่ออ้างอิงไฟล์นี้

Attributes

name ชื่อ ต้องระบุ

ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้

auth_patterns พจนานุกรม: สตริง -> สตริง ไม่บังคับ

ไม่บังคับให้แมปชื่อโฮสต์กับรูปแบบการให้สิทธิ์ที่กำหนดเอง หากมีชื่อโฮสต์ของ URL ในคำสั่งนี้ ระบบจะใช้ค่านี้เป็นรูปแบบเมื่อสร้างส่วนหัวการให้สิทธิ์สำหรับคำขอ HTTP ซึ่งช่วยให้สามารถใช้รูปแบบการให้สิทธิ์ที่กำหนดเองซึ่งใช้ในผู้ให้บริการพื้นที่เก็บข้อมูลระบบคลาวด์ทั่วไปหลายราย รูปแบบปัจจุบันรองรับโทเค็น 2 รายการ ได้แก่ <login> และ <password> ซึ่งแทนที่ด้วยค่าที่เทียบเท่าในไฟล์ netrc สำหรับชื่อโฮสต์เดียวกัน หลังจากฟอร์แมต ระบบจะตั้งค่าผลลัพธ์เป็นค่าสำหรับช่อง Authorization ของคำขอ HTTP ตัวอย่างแอตทริบิวต์และ netrc สำหรับการดาวน์โหลด http ไปยัง API ที่เปิดใช้ oauth2 โดยใช้โทเค็นสำหรับผู้ถือ:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
คำขอ HTTP สุดท้ายจะมีส่วนหัวต่อไปนี้
Authorization: Bearer RANDOM-TOKEN

canonical_id สตริง ไม่บังคับ

รหัส Canonical ของที่เก็บถาวรที่ดาวน์โหลด หากระบุไว้และไม่ว่างเปล่า Bazel จะไม่นำที่เก็บถาวรออกจากแคช เว้นแต่จะมีการเพิ่มที่เก็บถาวรลงในแคชโดยคำขอที่มีรหัส Canonical เดียวกัน

downloaded_file_path สตริง ไม่บังคับ

เส้นทางที่กำหนดให้กับไฟล์ที่ดาวน์โหลด

executable บูลีน ไม่บังคับ

ไฟล์ที่ดาวน์โหลดมาควรเป็นไฟล์ปฏิบัติการหรือไม่

integrity สตริง ไม่บังคับ

checksum ที่คาดไว้ในรูปแบบความสมบูรณ์ของทรัพยากรย่อยของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับ checksum ของไฟล์ที่ดาวน์โหลด _การละเว้นการตรวจสอบข้อผิดพลาดนั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้_ การละเว้นฟิลด์นี้จะทำให้งานสร้างแบบไม่อยู่ภายใต้เงื่อนไข ไม่จำเป็นต้องทำให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าแอตทริบิวต์นี้หรือ "sha256" ก่อนจัดส่ง

netrc สตริง ไม่บังคับ

ตำแหน่งของไฟล์ .netrc ที่จะใช้สำหรับการตรวจสอบสิทธิ์

sha256 สตริง ไม่บังคับ

SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับ SHA-256 ของไฟล์ที่ดาวน์โหลด _การละเว้น SHA-256 นั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้_ การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่ทำงาน ไม่จำเป็นต้องทำให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าก่อนที่จะจัดส่ง

url สตริง ไม่บังคับ

URL ไปยังไฟล์ที่จะทำให้ Bazel ใช้งานได้ URL นี้ต้องเป็นไฟล์, http หรือ https มีการเปลี่ยนเส้นทาง ไม่รองรับการตรวจสอบสิทธิ์ คุณมีความยืดหยุ่นมากขึ้นได้ด้วยพารามิเตอร์ URL ที่ช่วยระบุ URL อื่นที่ต้องการดึงข้อมูล

urls รายการสตริง ไม่บังคับ

รายการ URL ไปยังไฟล์ที่จะทำให้ Bazel ใช้งานได้ แต่ละรายการต้องเป็น URL ของไฟล์, http หรือ https มีการเปลี่ยนเส้นทาง ไม่รองรับการตรวจสอบสิทธิ์ ระบบจะลองใช้ URL ตามลำดับจนกว่าจะสำเร็จ คุณจึงควรแสดงรายการมิเรอร์ในเครื่องก่อน หากดาวน์โหลดทั้งหมดไม่สำเร็จ กฎก็จะล้มเหลว

http_jar

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

ดาวน์โหลด Jar จาก URL และทำให้ใช้งานได้เป็น java_import

ไฟล์ที่ดาวน์โหลดต้องมีนามสกุล .jar

ตัวอย่าง: สมมติว่าที่เก็บปัจจุบันมีซอร์สโค้ดสำหรับโปรแกรมแชท ซึ่งรูทที่ไดเรกทอรี ~/chat-app โดยต้องขึ้นอยู่กับไลบรารี SSL ที่พร้อมให้ใช้งานจาก http://example.com/openssl-0.2.jar

เป้าหมายในที่เก็บ ~/chat-app อาจขึ้นอยู่กับเป้าหมายนี้ หากเพิ่มบรรทัดต่อไปนี้ไปยัง ~/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",
  )

เป้าหมายจะระบุ <code>@my_ssl//jar</code> เป็นทรัพยากร Dependency เพื่ออ้างอิง Jar นี้

นอกจากนี้คุณอาจอ้างอิงไฟล์ในระบบปัจจุบัน (localhost) โดยใช้ "file:///path/to/file" หากคุณใช้ระบบที่ใช้ Unix หากใช้ Windows ให้ใช้ "file:///c:/path/to/file" ในทั้ง 2 ตัวอย่าง โปรดสังเกตเครื่องหมายทับ 3 อย่าง (/) โดย 2 รายการแรกเป็นของ file:// และรายการที่ 3 เป็นเส้นทางสัมบูรณ์ไปยังไฟล์

Attributes

name ชื่อ ต้องระบุ

ชื่อที่ไม่ซ้ำกันสำหรับที่เก็บนี้

auth_patterns พจนานุกรม: สตริง -> สตริง ไม่บังคับ

ไม่บังคับให้แมปชื่อโฮสต์กับรูปแบบการให้สิทธิ์ที่กำหนดเอง หากมีชื่อโฮสต์ของ URL ในคำสั่งนี้ ระบบจะใช้ค่านี้เป็นรูปแบบเมื่อสร้างส่วนหัวการให้สิทธิ์สำหรับคำขอ HTTP ซึ่งช่วยให้สามารถใช้รูปแบบการให้สิทธิ์ที่กำหนดเองซึ่งใช้ในผู้ให้บริการพื้นที่เก็บข้อมูลระบบคลาวด์ทั่วไปหลายราย รูปแบบปัจจุบันรองรับโทเค็น 2 รายการ ได้แก่ <login> และ <password> ซึ่งแทนที่ด้วยค่าที่เทียบเท่าในไฟล์ netrc สำหรับชื่อโฮสต์เดียวกัน หลังจากฟอร์แมต ระบบจะตั้งค่าผลลัพธ์เป็นค่าสำหรับช่อง Authorization ของคำขอ HTTP ตัวอย่างแอตทริบิวต์และ netrc สำหรับการดาวน์โหลด http ไปยัง API ที่เปิดใช้ oauth2 โดยใช้โทเค็นสำหรับผู้ถือ:

auth_patterns = {
    "storage.cloudprovider.com": "Bearer <password>"
}
netrc:
machine storage.cloudprovider.com
        password RANDOM-TOKEN
คำขอ HTTP สุดท้ายจะมีส่วนหัวต่อไปนี้
Authorization: Bearer RANDOM-TOKEN

canonical_id สตริง ไม่บังคับ

รหัส Canonical ของที่เก็บถาวรที่ดาวน์โหลด หากระบุไว้และไม่ว่างเปล่า Bazel จะไม่นำที่เก็บถาวรออกจากแคช เว้นแต่จะมีการเพิ่มที่เก็บถาวรลงในแคชโดยคำขอที่มีรหัส Canonical เดียวกัน

downloaded_file_name สตริง ไม่บังคับ

ชื่อไฟล์ที่กำหนดให้กับ Jar ที่ดาวน์โหลด

integrity สตริง ไม่บังคับ

checksum ที่คาดไว้ในรูปแบบความสมบูรณ์ของทรัพยากรย่อยของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับ checksum ของไฟล์ที่ดาวน์โหลด _การละเว้นการตรวจสอบข้อผิดพลาดนั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้_ การละเว้นฟิลด์นี้จะทำให้งานสร้างแบบไม่อยู่ภายใต้เงื่อนไข ไม่จำเป็นต้องทำให้การพัฒนาง่ายขึ้น แต่ควรตั้งค่าแอตทริบิวต์นี้หรือ "sha256" ก่อนจัดส่ง

netrc สตริง ไม่บังคับ

ตำแหน่งของไฟล์ .netrc ที่จะใช้สำหรับการตรวจสอบสิทธิ์

sha256 สตริง ไม่บังคับ

SHA-256 ที่คาดไว้ของไฟล์ที่ดาวน์โหลด ซึ่งต้องตรงกับ SHA-256 ของไฟล์ที่ดาวน์โหลด _การละเว้น SHA-256 นั้นมีความเสี่ยงด้านความปลอดภัยเนื่องจากไฟล์ระยะไกลอาจเปลี่ยนแปลงได้_ การละเว้นฟิลด์นี้จะทำให้บิลด์ของคุณไม่ทำงาน คุณไม่จำเป็นต้องทำให้การพัฒนาง่ายขึ้น แต่ควรกำหนดแอตทริบิวต์นี้หรือ "integrity" ก่อนจัดส่ง

url สตริง ไม่บังคับ

URL ไปยังไฟล์ที่จะทำให้ Bazel ใช้งานได้ URL นี้ต้องเป็นไฟล์, http หรือ https มีการเปลี่ยนเส้นทาง ไม่รองรับการตรวจสอบสิทธิ์ คุณมีความยืดหยุ่นมากขึ้นได้ด้วยพารามิเตอร์ URL ที่ช่วยระบุ URL อื่นที่ต้องการดึงข้อมูล URL ต้องลงท้ายด้วย ".jar"

urls รายการสตริง ไม่บังคับ

รายการ URL ไปยังไฟล์ที่จะทำให้ Bazel ใช้งานได้ แต่ละรายการต้องเป็น URL ของไฟล์, http หรือ https มีการเปลี่ยนเส้นทาง ไม่รองรับการตรวจสอบสิทธิ์ ระบบจะลองใช้ URL ตามลำดับจนกว่าจะสำเร็จ คุณจึงควรแสดงรายการมิเรอร์ในเครื่องก่อน หากดาวน์โหลดทั้งหมดไม่สำเร็จ กฎก็จะล้มเหลว URL ทั้งหมดต้องลงท้ายด้วย ".jar"