สมาชิก
- ทั้งหมด
- analysis_test_transition
- ใดก็ได้
- archive_override
- มุม
- bazel_dep
- เชื่อมโยง
- บูลีน
- configuration_field
- depset
- dict
- dir
- แจกแจง
- exec_group
- ล้มเหลว
- จำนวนลอยตัว
- getattr
- git_override
- hasattr
- แฮช
- int
- len
- list
- local_path_override
- สูงสุด
- นาที
- โมดูล
- module_extension
- multiple_version_override
- พิมพ์
- ผู้ให้บริการ
- ช่วง
- register_execution_platforms()
- register_execution_platforms(dev_dependency)
- register_toolchains()
- register_toolchains(dev_dependency)
- repository_rule(Implement, attrs, local, environ, Configuration, remotable, doc)
- repository_rule(Implement, attrs, local, environ, Configuration, remotable, doc)
- ตอบกลับ
- ย้อนกลับ
- กฎ
- เลือก
- single_version_override
- จัดเรียงแล้ว
- str
- tag_class
- tuple
- ประเภท
- use_extension
- use_repo
- การเปิดเผย
- พื้นที่ทำงาน
- รหัสไปรษณีย์
ทั้งหมด
bool all(elements)
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
elements
|
ต้องระบุ สตริงหรือคอลเล็กชันขององค์ประกอบ |
analysis_test_transition
transition analysis_test_transition(settings)
สร้างการเปลี่ยนการกำหนดค่าที่จะนำไปใช้กับการอ้างอิงของกฎการทดสอบการวิเคราะห์ การเปลี่ยนนี้ใช้ได้กับแอตทริบิวต์ของกฎที่มี analysis_test = True
เท่านั้น กฎดังกล่าวมีข้อจำกัดในเรื่องความสามารถ (เช่น ขนาดของแผนผังทรัพยากร Dependency มีจำกัด) ดังนั้น การเปลี่ยนที่สร้างขึ้นโดยใช้ฟังก์ชันนี้จึงถูกจำกัดในขอบเขตที่เป็นไปได้ เมื่อเทียบกับการเปลี่ยนที่สร้างโดยใช้การเปลี่ยน
ฟังก์ชันนี้ออกแบบมาเพื่อช่วยอำนวยความสะดวกในไลบรารีหลักของเฟรมเวิร์กการทดสอบการวิเคราะห์เป็นหลัก ดูแนวทางปฏิบัติแนะนำในเอกสาร (หรือการใช้งาน)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
settings
|
ต้องระบุ พจนานุกรมที่มีข้อมูลเกี่ยวกับการตั้งค่า ซึ่งควรตั้งค่าโดยการเปลี่ยนการกำหนดค่านี้ คีย์คือการสร้างป้ายกำกับการตั้งค่า และค่าต่างๆ เป็นค่าใหม่หลังการเปลี่ยน การตั้งค่าอื่นๆ ทั้งหมดจะไม่เปลี่ยนแปลง ใช้คำสั่งนี้เพื่อประกาศการตั้งค่าที่กำหนดซึ่งการทดสอบการวิเคราะห์จำเป็นต้องมีการตั้งค่าเพื่อให้ผ่าน |
ใดๆ
bool any(elements)
any([-1, 0, 1]) == True any([False, 0, ""]) == False
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
elements
|
ต้องระบุ สตริงหรือคอลเล็กชันขององค์ประกอบ |
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
urls
|
string; or Iterable of strings ;
ต้องระบุURL ของที่เก็บถาวร อาจเป็น http(s):// หรือ URL file:// |
integrity
|
ค่าเริ่มต้น = '' checksum ของไฟล์ที่เก็บถาวรในรูปแบบ Subresource Integrity |
strip_prefix
|
ค่าเริ่มต้น = '' คำนำหน้าไดเรกทอรีที่จะตัดออกจากไฟล์ที่แยก |
patches
|
Iterable of strings ;
ค่าเริ่มต้น = []รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ |
patch_cmds
|
Iterable of strings ;
ค่าเริ่มต้น = []ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์ |
patch_strip
|
ค่าเริ่มต้น = 0 เหมือนกับ --strip ของแพตช์ Unix |
เฉพาะด้าน
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
implementation
|
ต้องระบุ ฟังก์ชัน Starlark ที่ใช้ลักษณะนี้ โดยมีพารามิเตอร์ 2 ตัว ได้แก่ กำหนดเป้าหมาย (เป้าหมายที่ใช้ลักษณะนี้) และ ctx (บริบทของกฎที่ใช้สร้างเป้าหมาย) แอตทริบิวต์ของเป้าหมายจะแสดงผ่านช่อง ctx.rule ฟังก์ชันนี้จะได้รับการประเมินในช่วงการวิเคราะห์สำหรับการใช้งานแต่ละครั้งกับเป้าหมาย
|
attr_aspects
|
sequence of strings ;
ค่าเริ่มต้น = []รายการชื่อแอตทริบิวต์ ส่วนจะแผ่กระจายไปตามทรัพยากร Dependency ที่ระบุในแอตทริบิวต์ของเป้าหมายที่มีชื่อเหล่านี้ ค่าทั่วไปในที่นี้ได้แก่ deps และ exports รายการนี้อาจมีสตริงเดียว "*" เพื่อกระจายไปยังทรัพยากร Dependency ทั้งหมดของเป้าหมายด้วย
|
attrs
|
dict; or None ;
ค่าเริ่มต้น = ไม่มีพจนานุกรมที่ประกาศแอตทริบิวต์ทั้งหมดของลักษณะ โดยจะแมปจากชื่อแอตทริบิวต์กับออบเจ็กต์แอตทริบิวต์ เช่น "attr.label" หรือ "attr.string" (ดูโมดูล attr) แอตทริบิวต์ Aspect พร้อมใช้งานสําหรับฟังก์ชันการใช้งานเป็นช่องของพารามิเตอร์ ctx แอตทริบิวต์โดยนัยที่ขึ้นต้นด้วย แอตทริบิวต์ที่ชัดเจนต้องมีประเภท |
required_providers
|
ค่าเริ่มต้น = [] แอตทริบิวต์นี้ช่วยให้ลักษณะจำกัดการนำไปใช้งานเฉพาะกับเป้าหมายที่มีกฎที่โฆษณาผู้ให้บริการที่จำเป็นเท่านั้น ค่าต้องเป็นรายการที่มีผู้ให้บริการแต่ละรายหรือรายชื่อผู้ให้บริการอย่างใดอย่างหนึ่ง ไม่ใช่ทั้ง 2 รายการ ตัวอย่างเช่น [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] เป็นค่าที่ถูกต้องแต่ [FooInfo, BarInfo, [BazInfo, QuxInfo]] ไม่ถูกต้องระบบจะแปลงรายชื่อผู้ให้บริการที่ไม่ซ้อนกันเป็นรายชื่อที่มีรายชื่อผู้ให้บริการ 1 รายการโดยอัตโนมัติ กล่าวคือ หากต้องการทำให้เป้าหมายกฎบางอย่าง (เช่น |
required_aspect_providers
|
ค่าเริ่มต้น = [] แอตทริบิวต์นี้ช่วยให้ลักษณะนี้ตรวจสอบด้านอื่นๆ ได้ ค่าต้องเป็นรายการที่มีผู้ให้บริการแต่ละรายหรือรายชื่อผู้ให้บริการอย่างใดอย่างหนึ่ง ไม่ใช่ทั้ง 2 รายการ ตัวอย่างเช่น [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] เป็นค่าที่ถูกต้องแต่ [FooInfo, BarInfo, [BazInfo, QuxInfo]] ไม่ถูกต้องระบบจะแปลงรายชื่อผู้ให้บริการที่ไม่ซ้อนกันเป็นรายชื่อที่มีรายชื่อผู้ให้บริการ 1 รายการโดยอัตโนมัติ กล่าวคือ หากต้องการให้ด้านอื่น (เช่น |
provides
|
ค่าเริ่มต้น = [] รายชื่อผู้ให้บริการที่ฟังก์ชันการใช้งานต้องแสดง โดยจะเกิดข้อผิดพลาดหากฟังก์ชันการใช้งานละเว้นประเภทผู้ให้บริการที่ระบุไว้ที่นี่ในค่าการแสดงผล แต่ฟังก์ชันการใช้งานอาจแสดงผลผู้ให้บริการเพิ่มเติมที่ไม่ได้ระบุไว้ที่นี่ องค์ประกอบแต่ละรายการของรายการเป็นออบเจ็กต์ |
requires
|
sequence of Aspects ;
ค่าเริ่มต้น = []รายการด้านที่ต้องเผยแพร่ก่อนด้านนี้ |
fragments
|
sequence of strings ;
ค่าเริ่มต้น = []รายการของชื่อของส่วนย่อยการกำหนดค่าที่ด้านต้องการในการกำหนดค่าเป้าหมาย |
host_fragments
|
sequence of strings ;
ค่าเริ่มต้น = []รายการของชื่อของส่วนย่อยการกำหนดค่าที่ด้านต้องการในการกำหนดค่าโฮสต์ |
toolchains
|
sequence ;
ค่าเริ่มต้น = []หากมีการตั้งค่า ชุดของ Toolchain ที่กฎนี้ต้องใช้ รายการอาจมีออบเจ็กต์ String, Label หรือ StarlarkToolchainTypeApi ผสมผสานกันอย่างไรก็ได้ คุณจะพบเครื่องมือเชนได้โดยการตรวจสอบแพลตฟอร์มปัจจุบัน และมอบให้กับการใช้งานกฎผ่าน ctx.toolchain
|
incompatible_use_toolchain_transition
|
ค่าเริ่มต้น = เท็จ เลิกใช้งานแล้ว เลิกใช้งานไปแล้วและควรนำออก |
doc
|
ค่าเริ่มต้น = '' คำอธิบายของด้านที่ดึงมาได้ด้วยเครื่องมือสร้างเอกสาร |
apply_to_generating_rules
|
ค่าเริ่มต้น = เท็จ หากเป็น "จริง" ระบบจะใช้ลักษณะดังกล่าวกับกฎการสร้างของไฟล์เอาต์พุตแทนเมื่อใช้กับไฟล์เอาต์พุต ตัวอย่างเช่น สมมติว่าลักษณะกระจายผ่านแอตทริบิวต์ "deps" และถูกนำไปใช้กับเป้าหมาย "alpha" สมมติว่า "alpha" มี "deps = [":beta_output"]" โดยที่ "beta_output" คือเอาต์พุตที่ประกาศของเป้าหมาย "beta" สมมติว่า "เบต้า" มีเป้าหมายเป็น "ชาร์ลี" เป็นหนึ่งใน "deps" หากเป็น "apply_to_generating_rules=True" สำหรับด้านนี้ มุมมองจะเผยแพร่ผ่าน "อัลฟา" "เบต้า" และ "ชาร์ลี" หากเป็น "เท็จ" มุมมองจะเผยแพร่ไปที่ "อัลฟ่า" เท่านั้น เท็จโดยค่าเริ่มต้น |
exec_compatible_with
|
sequence of strings ;
ค่าเริ่มต้น = []รายการข้อจำกัดบนแพลตฟอร์มการดำเนินการที่ใช้กับอินสแตนซ์ทั้งหมดของด้านนี้ |
exec_groups
|
dict; or None ;
ค่าเริ่มต้น = ไม่มีคำสั่งของชื่อกลุ่มการดำเนินการ (สตริง) ถึง exec_group s หากตั้งค่าไว้ จะอนุญาตให้ส่วนต่างๆ เรียกใช้การดำเนินการในแพลตฟอร์มการดำเนินการหลายแพลตฟอร์มภายในอินสแตนซ์เดียว ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของกลุ่มการดำเนินการ
|
bazel_dep
None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
ต้องระบุ ชื่อของโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง |
version
|
ค่าเริ่มต้น = '' เวอร์ชันของโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง |
max_compatibility_level
|
ค่าเริ่มต้น = -1compatibility_level สูงสุดที่รองรับสำหรับโมดูลที่จะเพิ่มเป็นทรัพยากร Dependency โดยตรง เวอร์ชันของโมดูลจะแสดงถึงระดับความเข้ากันได้ขั้นต่ำที่รองรับ รวมถึงระดับสูงสุดหากไม่ได้ระบุแอตทริบิวต์นี้
|
repo_name
|
ค่าเริ่มต้น = '' ชื่อของที่เก็บภายนอกที่แสดงถึงทรัพยากร Dependency นี้ ซึ่งจะเป็นชื่อโมดูลโดยค่าเริ่มต้น |
dev_dependency
|
ค่าเริ่มต้น = เท็จ หากจริง ระบบจะไม่สนใจการขึ้นต่อกันนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
เชื่อมโยง
None bind(name, actual=None)
คำเตือน: ไม่แนะนำให้ใช้ bind()
ดูหัวข้อพิจารณายกเลิกการผูกมัดสำหรับการพูดคุยถึงปัญหาและทางเลือกอื่นในระยะยาว
กำหนดชื่อแทนให้เป้าหมายในแพ็กเกจ //external
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
ต้องระบุ ป้ายกำกับภายใต้ "//external" เพื่อใช้เป็นชื่อแทน |
actual
|
string; or None ;
ค่าเริ่มต้น = ไม่มีป้ายกำกับจริงที่จะเป็นชื่อแทน |
บูลีน
bool bool(x=False)
False
หากออบเจ็กต์คือ None
, False
, สตริงว่าง (""
), หมายเลข 0
หรือคอลเล็กชันที่ว่างเปล่า (เช่น ()
, []
) มิเช่นนั้น จะแสดงผล True
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ค่าเริ่มต้น = เท็จ ตัวแปรที่ต้องการแปลง |
configuration_field
LateBoundDefault configuration_field(fragment, name)
ตัวอย่างการใช้:
การกำหนดแอตทริบิวต์กฎ:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
การเข้าถึงในการใช้งานกฎ:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
fragment
|
ต้องระบุ ชื่อของส่วนย่อยการกำหนดค่าซึ่งมีค่าขอบเขตท้าย |
name
|
ต้องระบุ ชื่อของค่าที่จะได้รับจากส่วนย่อยการกำหนดค่า |
Depset
depset depset(direct=None, order="default", *, transitive=None)
direct
คือรายการองค์ประกอบโดยตรงของ Depset และพารามิเตอร์ transitive
คือรายการของ Depset ที่มีองค์ประกอบที่กลายเป็นองค์ประกอบโดยอ้อมของ Depset ที่สร้างขึ้น พารามิเตอร์ order
จะระบุลำดับการแสดงผลองค์ประกอบเมื่อแปลงค่า Depset เป็นรายการ ดูข้อมูลเพิ่มเติมในภาพรวมของ Depset
องค์ประกอบทั้งหมด (ทางตรงและทางอ้อม) ของช่วง ต้องเป็นประเภทเดียวกันตามที่นิพจน์ type(x)
ได้รับ
เนื่องจากมีการใช้ชุดตามแฮชเพื่อกำจัดรายการที่ซ้ำระหว่างการทำซ้ำ องค์ประกอบทั้งหมดของ Depset จึงควรแฮชได้ อย่างไรก็ตาม ค่าแปรปรวนนี้ยังไม่ได้รับการตรวจสอบอย่างสอดคล้องกันในตัวสร้างทั้งหมดในขณะนี้ ใช้แฟล็ก --incompatible_always_check_depset_elements เพื่อเปิดใช้การตรวจสอบที่สอดคล้องกัน นี่คือลักษณะการทำงานเริ่มต้นในรุ่นต่อๆ ไป ดูปัญหา 10313
นอกจากนี้ องค์ประกอบต่างๆ ในปัจจุบันต้องเปลี่ยนแปลงไม่ได้ แม้ว่าการจำกัดนี้จะมีการผ่อนปรนในอนาคต
ลำดับของ Depset ที่สร้างควรเข้ากันได้กับลำดับของ Depset transitive
คำสั่งซื้อ "default"
ใช้ได้กับคำสั่งซื้ออื่นๆ ส่วนคำสั่งซื้ออื่นๆ ทั้งหมดจะใช้งานได้เฉพาะกับคำสั่งซื้อของตัวเองเท่านั้น
หมายเหตุเกี่ยวกับความเข้ากันได้แบบย้อนหลัง/ไปข้างหน้า ปัจจุบันฟังก์ชันนี้ยอมรับพารามิเตอร์ items
แบบมีตําแหน่ง ซึ่งเลิกใช้งานแล้วและจะถูกนำออกในอนาคต หลังจากการนำออก direct
จะกลายเป็นพารามิเตอร์ตำแหน่งเพียงอย่างเดียวของฟังก์ชัน depset
ดังนั้น การเรียกทั้ง 2 อย่างต่อไปนี้จึงเทียบเท่ากันและรองรับการใช้งานในอนาคต
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
direct
|
sequence; or None ;
ค่าเริ่มต้น = ไม่มีรายการเอลิเมนต์โดยตรงของช่วง |
order
|
ค่าเริ่มต้น = "ค่าเริ่มต้น" กลยุทธ์การส่งผ่านสำหรับ Depset ใหม่ ดูค่าที่เป็นไปได้ที่นี่ |
transitive
|
sequence of depsets; or None ;
ค่าเริ่มต้น = ไม่มีรายการ Depset ที่มีเอลิเมนต์ที่จะกลายเป็นองค์ประกอบโดยอ้อมของ Depset |
ดิด
dict dict(pairs=[], **kwargs)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
pairs
|
ค่าเริ่มต้น = [] คำสั่งหรือคำสั่งที่ทำซ้ำซึ่งมีองค์ประกอบแต่ละองค์ประกอบมีความยาวเป็น 2 (คีย์, ค่า) |
kwargs
|
ต้องระบุ พจนานุกรมของรายการเพิ่มเติม |
dir
list dir(x)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ออบเจ็กต์ที่ต้องตรวจสอบ |
แจกแจง
list enumerate(list, start=0)
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
list
|
ต้องระบุ ลำดับการป้อนข้อมูล |
start
|
ค่าเริ่มต้น = 0 ดัชนีเริ่มต้น |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
toolchains
|
sequence ;
ค่าเริ่มต้น = []ชุด Toolchains ที่กลุ่มการดำเนินการนี้ต้องใช้ รายการอาจมีออบเจ็กต์ String, Label หรือ StarlarkToolchainTypeApi ผสมผสานกันอย่างไรก็ได้ |
exec_compatible_with
|
sequence of strings ;
ค่าเริ่มต้น = []รายการข้อจำกัดในแพลตฟอร์มการดำเนินการ |
copy_from_rule
|
ค่าเริ่มต้น = เท็จ หากตั้งค่าเป็น "จริง" กลุ่มผู้บริหารนี้จะรับค่า Toolchain และข้อจำกัดของกฎที่กลุ่มนี้แนบอยู่ หากตั้งค่าเป็นสตริงอื่น ระบบจะแสดงข้อผิดพลาด |
ล้มเหลว
None fail(msg=None, attr=None, *args)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
msg
|
ค่าเริ่มต้น = ไม่มี เลิกใช้งานแล้ว: ใช้อาร์กิวเมนต์ตำแหน่งแทน อาร์กิวเมนต์นี้ทำหน้าที่เหมือนอาร์กิวเมนต์ตำแหน่งนำโดยปริยาย |
attr
|
string; or None ;
ค่าเริ่มต้น = ไม่มีเลิกใช้งานแล้ว ทำให้เพิ่มคำนำหน้าที่ไม่บังคับซึ่งมีสตริงนี้ลงในข้อความแสดงข้อผิดพลาด |
args
|
ต้องระบุ รายการค่าซึ่งจัดรูปแบบด้วย str และเชื่อมต่อกับการเว้นวรรค ซึ่งปรากฏในข้อความแสดงข้อผิดพลาด |
จำนวนลอยตัว
float float(x=unbound)
- หาก
x
เป็นแบบลอยอยู่แล้วfloat
จะแสดงผลเป็นค่าที่ไม่เปลี่ยนแปลง - หาก
x
เป็นบูลีนfloat
จะแสดงผล 1.0 สำหรับ "จริง" และ 0.0 สำหรับ "เท็จ" - หาก
x
เป็น Int ฟังก์ชันfloat
จะแสดงผลค่าจุดลอยตัวแบบจำกัดที่ใกล้ที่สุดเป็น x หรือจะแสดงผลข้อผิดพลาดหากขนาดมีขนาดใหญ่เกินไป - หาก
x
เป็นสตริง สตริงดังกล่าวจะต้องเป็นลิเทอรัลจุดลอยตัวที่ถูกต้อง หรือเท่ากับ (ไม่คำนึงถึงตัวพิมพ์ใหญ่/เล็ก) กับNaN
,Inf
หรือInfinity
โดยจะนำหน้าด้วยสัญลักษณ์+
หรือ-
หรือไม่ก็ได้
float()
จะแสดงผล 0.0
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ค่าที่จะแปลง |
getattr
unknown getattr(x, name, default=unbound)
default
(หากระบุ) หรือทำให้เกิดข้อผิดพลาด getattr(x, "foobar")
มีค่าเท่ากับ x.foobar
getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ โครงสร้างที่มีการเข้าถึงแอตทริบิวต์ |
name
|
ต้องระบุ ชื่อของแอตทริบิวต์โครงสร้าง |
default
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ค่าเริ่มต้นที่จะแสดงผลในกรณีที่โครงสร้างไม่มีแอตทริบิวต์ของชื่อที่ระบุ |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
remote
|
ต้องระบุ URL ของที่เก็บ Git ระยะไกล |
commit
|
ค่าเริ่มต้น = '' คอมมิตที่ควรตรวจสอบ |
patches
|
Iterable of strings ;
ค่าเริ่มต้น = []รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ |
patch_cmds
|
Iterable of strings ;
ค่าเริ่มต้น = []ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์ |
patch_strip
|
ค่าเริ่มต้น = 0 เหมือนกับ --strip ของแพตช์ Unix |
hasattr
bool hasattr(x, name)
x
มีแอตทริบิวต์หรือเมธอดของ name
ที่ระบุ หากไม่ใช่ "เท็จ" ตัวอย่าง:hasattr(ctx.attr, "myattr")
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ออบเจ็กต์ที่ต้องตรวจสอบ |
name
|
ต้องระบุ ชื่อของแอตทริบิวต์ |
แฮช
int hash(value)
String.hashCode()
ของ Java ซึ่งได้แก่ s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
value
|
ต้องระบุ ค่าสตริงเป็นแฮช |
int
int int(x, base=unbound)
- หาก
x
เป็น int อยู่แล้วint
จะแสดงผลเหมือนเดิม - หาก
x
เป็นบูลีนint
จะแสดงผล 1 สำหรับ "จริง" และ 0 สำหรับ "เท็จ" - หาก
x
เป็นสตริง ต้องมีรูปแบบ<sign><prefix><digits>
<sign>
เป็น"+"
,"-"
หรือว่างเปล่า (ตีความว่าเป็นบวก)<digits>
เป็นลำดับตัวเลขตั้งแต่ 0 ถึงbase
- 1 โดยใช้ตัวอักษร a-z (หรือเทียบเท่า A-Z) เป็นตัวเลขสำหรับ 10-35 ในกรณีที่base
เท่ากับ 2/8/16<prefix>
จะใส่หรือไม่ใส่ก็ได้ และอาจ 0b/0o/0x (หรือเทียบเท่า 0B/0O/0X) ตามลำดับ หากbase
เป็นค่าอื่นๆ นอกเหนือจากฐานเหล่านี้หรือค่าพิเศษ 0 คำนำหน้าต้องว่างเปล่า ในกรณีที่base
มีค่าเป็น 0 ระบบจะแปลสตริงเป็นจำนวนเต็มลิเทอรัล ในลักษณะที่มีการเลือกฐาน 2/8/10/16 อย่างใดอย่างหนึ่งโดยขึ้นอยู่กับคำนำหน้าที่มีการใช้ หากbase
เป็น 0 จะไม่มีการใช้คำนำหน้า และมีมากกว่า 1 หลัก ตัวเลขนำจะเป็น 0 ไม่ได้ เพื่อป้องกันความสับสนระหว่างเลขฐานแปดกับเลขฐานสิบ ขนาดของจำนวนที่แสดงโดยสตริงจะต้องอยู่ในช่วงที่อนุญาตสำหรับประเภท int - หาก
x
เป็นเลขทศนิยมint
จะแสดงผลค่าจำนวนเต็มของจำนวนลอยตัวโดยปัดเศษเข้าหา 0 หาก x ไม่ใช่ค่าจำกัด (ไม่มีหรือไม่มีสิ้นสุด) จะเกิดข้อผิดพลาด
x
เป็นประเภทอื่น หรือหากค่าเป็นสตริงที่ไม่เป็นไปตามรูปแบบข้างต้น ฟังก์ชันนี้ไม่อนุญาตให้มีอาร์กิวเมนต์เป็น 0 และไม่อนุญาตให้มีการเว้นวรรคเกินความจำเป็นสําหรับอาร์กิวเมนต์สตริง ซึ่งต่างจากฟังก์ชัน int
ของ Pythonตัวอย่าง
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ สตริงที่จะแปลง |
base
|
ค่าเริ่มต้น = ไม่เชื่อมโยง ฐานที่ใช้ในการตีความค่าสตริง ค่าเริ่มต้นคือ 10 ต้องอยู่ระหว่าง 2 ถึง 36 (รวม) หรือ 0 เพื่อตรวจหาฐานเสมือนว่า x เป็นลิเทอรัลจำนวนเต็ม ต้องระบุพารามิเตอร์นี้หากค่าไม่ใช่สตริง
|
Len
int len(x)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ค่าความยาวที่จะรายงาน |
list
list list(x=[])
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ค่าเริ่มต้น = [] ออบเจ็กต์ที่จะแปลง |
local_path_override
None local_path_override(module_name, path)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
path
|
ต้องระบุ เส้นทางไปยังไดเรกทอรีที่มีโมดูลนี้อยู่ |
สูงสุด
unknown max(*args)
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
args
|
ต้องระบุ องค์ประกอบที่ต้องตรวจสอบ |
นาที
unknown min(*args)
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
args
|
ต้องระบุ องค์ประกอบที่ต้องตรวจสอบ |
โมดูล
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
ควรเรียกใช้มากที่สุดเพียงครั้งเดียว โดยสามารถละได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลรูท (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
ค่าเริ่มต้น = '' ชื่อของโมดูล สามารถละไว้ได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลราก (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น) ชื่อโมดูลที่ถูกต้องต้องมีลักษณะดังนี้ 1) มีแต่ตัวอักษรพิมพ์เล็ก (a-z) ตัวเลข (0-9) จุด (.) ขีดกลาง (-) และขีดล่าง (_); 2) เริ่มต้นด้วยตัวอักษรพิมพ์เล็ก 3) ลงท้ายด้วยตัวอักษรพิมพ์เล็กหรือตัวเลข |
version
|
ค่าเริ่มต้น = '' เวอร์ชันของโมดูล สามารถละไว้ได้เฉพาะในกรณีที่โมดูลนี้เป็นโมดูลราก (เช่น ในกรณีของโมดูลอื่นจะไม่ขึ้นกับโมดูลอื่น) |
compatibility_level
|
ค่าเริ่มต้น = 0 ระดับความเข้ากันได้ของโมดูล ควรเปลี่ยนข้อความนี้ทุกครั้งที่มีการทำการเปลี่ยนแปลงที่สำคัญซึ่งไม่สามารถทำงานร่วมกันได้ นี่คือ "เวอร์ชันหลัก" ของโมดูลในรูปของ SemVer เว้นแต่ว่า โมดูลดังกล่าวไม่ได้ฝังอยู่ในสตริงเวอร์ชัน แต่มีอยู่ในช่องแยกต่างหาก โมดูลที่มีระดับความเข้ากันได้แตกต่างกันจะมีส่วนร่วมในการแปลงเวอร์ชันเสมือนเป็นโมดูลที่ใช้ชื่อต่างกัน แต่กราฟทรัพยากร Dependency ไม่สามารถมีโมดูลหลายรายการที่มีชื่อเดียวกันแต่มีระดับความเข้ากันได้ต่างกัน (เว้นแต่ว่า multiple_version_override จะมีผล ดูรายละเอียดเพิ่มเติม)
|
repo_name
|
ค่าเริ่มต้น = '' ชื่อของที่เก็บที่แสดงถึงโมดูลนี้ ตามที่เห็นโดยโมดูลนั้นเอง โดยค่าเริ่มต้น ชื่อของที่เก็บจะเป็นชื่อของโมดูล คุณสามารถระบุเพื่อลดความซับซ้อนในการย้ายข้อมูลสำหรับโปรเจ็กต์ที่ใช้ชื่อที่เก็บของตัวเองซึ่งต่างจากชื่อโมดูล |
bazel_compatibility
|
Iterable of strings ;
ค่าเริ่มต้น = []รายการเวอร์ชันของ Bazel ที่อนุญาตให้ผู้ใช้ประกาศว่าเวอร์ชัน Bazel ใดที่เข้ากันได้กับโมดูลนี้ การดำเนินการนี้จะไม่ส่งผลต่อความละเอียดของทรัพยากร Dependency แต่ bzlmod จะใช้ข้อมูลนี้เพื่อตรวจสอบว่าเวอร์ชัน Bazel ปัจจุบันของคุณรองรับหรือไม่ รูปแบบของค่านี้คือสตริงของค่าข้อจำกัดบางส่วนที่คั่นด้วยคอมมา ระบบรองรับข้อจำกัด 3 ข้อต่อไปนี้ <=X.X.X: เวอร์ชัน Bazel ต้องเท่ากับหรือเก่ากว่า X.X.X ใช้เมื่อมีการเปลี่ยนแปลงที่ทราบว่าเข้ากันไม่ได้ในเวอร์ชันที่ใหม่กว่า >=X.X.X: เวอร์ชัน Bazel ต้องเท่ากับหรือใหม่กว่า X.X.X ใช้เมื่อคุณจำเป็นต้องใช้ฟีเจอร์บางอย่างที่มีตั้งแต่ X.X.X เท่านั้น -X.X.X: Bazel เวอร์ชัน X.X.X ใช้งานไม่ได้ ใช้เมื่อมีข้อบกพร่องใน X.X.X ที่ทำให้เสียหาย แต่ได้รับการแก้ไขในเวอร์ชันหลังๆ |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
implementation
|
ต้องระบุ ฟังก์ชันที่ใช้ส่วนขยายโมดูลนี้ ต้องใช้พารามิเตอร์เดียว module_ctx จะมีการเรียกใช้ฟังก์ชันครั้งเดียวเมื่อเริ่มต้นบิลด์เพื่อระบุชุดที่เก็บที่มีอยู่
|
tag_classes
|
default = {} พจนานุกรมเพื่อประกาศคลาสของแท็กทั้งหมดที่ส่วนขยายใช้ โดยจะแมปจากชื่อคลาสแท็กกับออบเจ็กต์ tag_class
|
doc
|
ค่าเริ่มต้น = '' คำอธิบายของส่วนขยายโมดูลที่ดึงมาได้ด้วยเครื่องมือสร้างเอกสาร |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
versions
|
Iterable of strings ;
ต้องระบุระบุเวอร์ชันที่อนุญาตให้ใช้งานร่วมกันอย่างชัดเจน เวอร์ชันเหล่านี้ต้องอยู่ในการเลือกล่วงหน้าสำหรับกราฟทรัพยากร Dependency อยู่แล้ว ระบบจะ "อัปเกรด" ทรัพยากร Dependency ของโมดูลนี้ เป็นเวอร์ชันที่ได้รับอนุญาตสูงกว่าซึ่งอยู่ใกล้ที่สุดที่ระดับความเข้ากันได้เดียวกัน ขณะที่ทรัพยากร Dependency ที่มีเวอร์ชันสูงกว่าเวอร์ชันที่ได้รับอนุญาตซึ่งอยู่ในระดับความเข้ากันได้เดียวกันจะทำให้เกิดข้อผิดพลาด |
registry
|
ค่าเริ่มต้น = '' ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น |
พิมพ์
None print(sep=" ", *args)
args
เป็นเอาต์พุตการแก้ไขข้อบกพร่อง ซึ่งจะนำหน้าด้วยสตริง "DEBUG"
และตำแหน่ง (ไฟล์และหมายเลขบรรทัด) ของการเรียกนี้ ไม่มีการระบุวิธีแปลงอาร์กิวเมนต์เป็นสตริงและอาจเปลี่ยนแปลงได้ทุกเมื่อ โดยเฉพาะอย่างยิ่ง รูปแบบอาจแตกต่างจาก (และมีรายละเอียดมากกว่า) การจัดรูปแบบที่ str()
และ repr()
ไม่แนะนำให้ใช้ print
ในโค้ดเวอร์ชันที่ใช้งานจริงเนื่องจากมีสแปมที่สร้างให้กับผู้ใช้ สำหรับการเลิกใช้งาน ให้แจ้งข้อผิดพลาดที่แก้ไขได้ยากโดยใช้ fail()
ทุกครั้งที่ทำได้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sep
|
ค่าเริ่มต้น = " " " สตริงตัวแบ่งระหว่างออบเจ็กต์ ค่าเริ่มต้นคือช่องว่าง (" ") |
args
|
ต้องระบุ วัตถุที่จะพิมพ์ |
provider
unknown provider(doc='', *, fields=None, init=None)
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
โปรดดูที่กฎ (ผู้ให้บริการ) สำหรับคำแนะนำที่ครอบคลุมเกี่ยวกับวิธีใช้ผู้ให้บริการ
แสดงผลค่าที่เรียกใช้ได้ Provider
หากไม่ได้ระบุ init
หากระบุ init
จะแสดงผล Tuple ที่มี 2 องค์ประกอบ ได้แก่ ค่าที่เรียกใช้ได้ Provider
และค่าที่เรียกใช้ได้ของ raw Constructor โปรดดูรายละเอียดที่หัวข้อกฎ (การเริ่มต้นที่กำหนดเองของผู้ให้บริการที่กำหนดเอง) และการสนทนาเกี่ยวกับพารามิเตอร์ init
ด้านล่าง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
doc
|
ค่าเริ่มต้น = '' รายละเอียดของผู้ให้บริการที่ดึงข้อมูลได้ด้วยเครื่องมือสร้างเอกสาร |
fields
|
sequence of strings; or dict; or None ;
ค่าเริ่มต้น = ไม่มีหากระบุ จะจำกัดชุดของช่องที่อนุญาต ค่าที่เป็นไปได้มีดังนี้
|
init
|
callable; or None ;
ค่าเริ่มต้น = ไม่มีการเรียกกลับแบบไม่บังคับสำหรับการประมวลผลล่วงหน้าและตรวจสอบค่าในช่องของผู้ให้บริการระหว่างการสร้างอินสแตนซ์ หากระบุ init แล้ว provider() จะแสดงผล Tuple ที่มี 2 องค์ประกอบ ได้แก่ สัญลักษณ์ผู้ให้บริการปกติและตัวสร้าง RAWคำอธิบายที่ละเอียดแม่นยำตามมา โปรดดูที่กฎ (การกำหนดค่าเริ่มต้นที่กำหนดเองของผู้ให้บริการ) เพื่อให้การสนทนาและกรณีการใช้งานที่เข้าใจง่าย อนุญาตให้
init การเรียกสัญลักษณ์ P จะทำหน้าที่เป็นการเรียกฟังก์ชันตัวสร้างเริ่มต้น c กล่าวคือ P(*args, **kwargs) จะแสดง c(*args, **kwargs) ตัวอย่างเช่นMyInfo = provider() m = MyInfo(foo = 1) m เป็นอินสแตนซ์ MyInfo ที่มี m.foo == 1 อย่างตรงไปตรงมาแต่ในกรณีที่ระบุ
หมายเหตุ: ขั้นตอนข้างต้นกล่าวเป็นนัยว่าเกิดข้อผิดพลาดหาก เมื่อใช้วิธีนี้ การเรียกกลับ เมื่อระบุ MyInfo, _new_myinfo = provider(init = ...) |
ช่วง
sequence range(start_or_stop, stop_or_none=None, step=1)
start
ไปยัง stop
โดยใช้เพิ่มขึ้น step
หากมีอาร์กิวเมนต์เดียว รายการจะอยู่ในช่วงตั้งแต่ 0 ถึงองค์ประกอบนั้นrange(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
start_or_stop
|
ต้องระบุ ค่าขององค์ประกอบเริ่มต้นหากมีการระบุหยุด ไม่เช่นนั้นค่าของการหยุดและจุดเริ่มต้นจริงจะเป็น 0 |
stop_or_none
|
int; or None ;
ค่าเริ่มต้น = ไม่มีดัชนีที่ไม่บังคับของรายการแรกจะไม่รวมอยู่ในรายการผลลัพธ์ การสร้างรายการจะหยุดก่อนที่จะถึง stop
|
step
|
ค่าเริ่มต้น = 1 ส่วนเพิ่ม (ค่าเริ่มต้นคือ 1) ซึ่งอาจเป็นค่าลบ |
register_execution_platforms()
None register_execution_platforms(*platform_labels)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
platform_labels
|
sequence of strings ;
ต้องระบุป้ายกำกับของแพลตฟอร์มที่จะลงทะเบียน |
register_execution_platforms(dev_dependency)
None register_execution_platforms(dev_dependency=False, *platform_labels)
@
หรือ //
) ดูข้อมูลเพิ่มเติมได้ที่ความละเอียดของ Toolchain
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
dev_dependency
|
ค่าเริ่มต้น = เท็จ หากจริง ระบบจะไม่ลงทะเบียนแพลตฟอร์มการดำเนินการหากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
platform_labels
|
sequence of strings ;
ต้องระบุป้ายกำกับของแพลตฟอร์มที่จะลงทะเบียน |
register_toolchains()
None register_toolchains(*toolchain_labels)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
toolchain_labels
|
sequence of strings ;
ต้องระบุป้ายกำกับของ Toolchain ที่จะจดทะเบียน |
register_toolchains(dev_dependency)
None register_toolchains(dev_dependency=False, *toolchain_labels)
@
หรือ //
) ดูข้อมูลเพิ่มเติมได้ที่ความละเอียดของ Toolchain
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
dev_dependency
|
ค่าเริ่มต้น = เท็จ หากเป็นจริง ระบบจะไม่ลงทะเบียน Toolchain หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
toolchain_labels
|
sequence of strings ;
ต้องระบุป้ายกำกับของ Toolchain ที่จะจดทะเบียน |
Datastore_rule(ใช้งาน, attrs, ในเครื่อง, environ, กำหนดค่า, remotable, doc)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
implementation
|
ต้องระบุ ฟังก์ชันที่ใช้กฎนี้ ต้องมีพารามิเตอร์เดียว repository_ctx จะมีการเรียกฟังก์ชันนี้ในช่วงการโหลดสำหรับกฎแต่ละรายการ
|
attrs
|
dict; or None ;
ค่าเริ่มต้น = ไม่มีสำหรับประกาศแอตทริบิวต์ทั้งหมดของกฎ โดยจะแมปจากชื่อแอตทริบิวต์กับออบเจ็กต์แอตทริบิวต์ (ดูโมดูล attr) แอตทริบิวต์ที่ขึ้นต้นด้วย _ เป็นแบบส่วนตัวและใช้เพื่อเพิ่มทรัพยากร Dependency โดยนัยไปยังป้ายกำกับไปยังไฟล์ได้ (กฎที่เก็บต้องไม่อ้างอิงอาร์ติแฟกต์ที่สร้างขึ้น) มีการเพิ่มแอตทริบิวต์ name โดยปริยายและต้องไม่ระบุไว้
|
local
|
ค่าเริ่มต้น = เท็จ ระบุว่ากฎนี้ดึงข้อมูลทุกอย่างจากระบบภายในและควรมีการประเมินอีกครั้งทุกครั้งที่ดึงข้อมูล |
environ
|
sequence of strings ;
ค่าเริ่มต้น = []แสดงรายการตัวแปรสภาพแวดล้อมที่กฎที่เก็บนี้อ้างอิงอยู่ หากตัวแปรสภาพแวดล้อมในรายการนั้นมีการเปลี่ยนแปลง ระบบจะดึงข้อมูลที่เก็บอีกครั้ง |
configure
|
ค่าเริ่มต้น = เท็จ ระบุว่าที่เก็บจะตรวจสอบระบบเพื่อวัตถุประสงค์ในการกำหนดค่า |
remotable
|
ค่าเริ่มต้น = เท็จ ทดลอง พารามิเตอร์นี้อยู่ในขั้นทดลองและอาจเปลี่ยนแปลงได้ตลอดเวลา โปรดอย่าพึ่งพา ซึ่งอาจเปิดใช้ในการทดสอบโดยการตั้งค่า ---experimental_repo_remote_exec ใช้งานได้กับการดำเนินการจากระยะไกล |
doc
|
ค่าเริ่มต้น = '' คำอธิบายของกฎที่เก็บที่สามารถดึงข้อมูลโดยเครื่องมือการสร้างเอกสาร |
Datastore_rule(ใช้งาน, attrs, ในเครื่อง, environ, กำหนดค่า, remotable, doc)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
implementation
|
ต้องระบุ ฟังก์ชันที่ใช้กฎนี้ ต้องมีพารามิเตอร์เดียว repository_ctx จะมีการเรียกฟังก์ชันนี้ในช่วงการโหลดสำหรับกฎแต่ละรายการ
|
attrs
|
dict; or None ;
ค่าเริ่มต้น = ไม่มีสำหรับประกาศแอตทริบิวต์ทั้งหมดของกฎ โดยจะแมปจากชื่อแอตทริบิวต์กับออบเจ็กต์แอตทริบิวต์ (ดูโมดูล attr) แอตทริบิวต์ที่ขึ้นต้นด้วย _ เป็นแบบส่วนตัวและใช้เพื่อเพิ่มทรัพยากร Dependency โดยนัยไปยังป้ายกำกับไปยังไฟล์ได้ (กฎที่เก็บต้องไม่อ้างอิงอาร์ติแฟกต์ที่สร้างขึ้น) มีการเพิ่มแอตทริบิวต์ name โดยปริยายและต้องไม่ระบุไว้
|
local
|
ค่าเริ่มต้น = เท็จ ระบุว่ากฎนี้ดึงข้อมูลทุกอย่างจากระบบภายในและควรมีการประเมินอีกครั้งทุกครั้งที่ดึงข้อมูล |
environ
|
sequence of strings ;
ค่าเริ่มต้น = []แสดงรายการตัวแปรสภาพแวดล้อมที่กฎที่เก็บนี้อ้างอิงอยู่ หากตัวแปรสภาพแวดล้อมในรายการนั้นมีการเปลี่ยนแปลง ระบบจะดึงข้อมูลที่เก็บอีกครั้ง |
configure
|
ค่าเริ่มต้น = เท็จ ระบุว่าที่เก็บจะตรวจสอบระบบเพื่อวัตถุประสงค์ในการกำหนดค่า |
remotable
|
ค่าเริ่มต้น = เท็จ ทดลอง พารามิเตอร์นี้อยู่ในขั้นทดลองและอาจเปลี่ยนแปลงได้ตลอดเวลา โปรดอย่าพึ่งพา ซึ่งอาจเปิดใช้ในการทดสอบโดยการตั้งค่า ---experimental_repo_remote_exec ใช้งานได้กับการดำเนินการจากระยะไกล |
doc
|
ค่าเริ่มต้น = '' คำอธิบายของกฎที่เก็บที่สามารถดึงข้อมูลโดยเครื่องมือการสร้างเอกสาร |
ตัวแทน
string repr(x)
repr("ab") == '"ab"'
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ออบเจ็กต์ที่จะแปลง |
กลับลำดับ
list reversed(sequence)
reversed([3, 5, 4]) == [4, 5, 3]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
sequence
|
ต้องระบุ ลำดับที่ทำซ้ำได้ (เช่น รายการ) ที่ย้อนกลับได้ |
กฎ
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)
ต้องกำหนดกฎให้กับตัวแปรร่วมในไฟล์ .bzl ชื่อของตัวแปรร่วมก็คือชื่อของกฎ
กฎการทดสอบต้องมีชื่อที่ลงท้ายด้วย _test
ขณะที่กฎอื่นๆ ทั้งหมดต้องไม่มีคำต่อท้ายนี้ (ข้อจำกัดนี้มีผลกับกฎเท่านั้น ไม่ใช้กับเป้าหมาย)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
implementation
|
ต้องระบุ ฟังก์ชัน Starlark ที่ใช้กฎนี้ ต้องมีพารามิเตอร์เพียง 1 ตัวเท่านั้น ได้แก่ ctx จะมีการเรียกฟังก์ชันนี้ในช่วงการวิเคราะห์สำหรับแต่ละอินสแตนซ์ของกฎ มีสิทธิ์เข้าถึงแอตทริบิวต์ที่ผู้ใช้ให้ไว้ ต้องสร้างการดำเนินการเพื่อสร้างเอาต์พุตที่ประกาศทั้งหมด |
test
|
ค่าเริ่มต้น = เท็จ กฎนี้เป็นกฎทดสอบหรือไม่ กล่าวคือ อาจเป็นหัวเรื่องของคำสั่ง blaze test หรือไม่ กฎการทดสอบทั้งหมดจะถือว่าเป็นปฏิบัติการโดยอัตโนมัติ ก็ไม่จำเป็น (และไม่สนับสนุน) ที่จะต้องตั้งค่า executable = True สำหรับกฎทดสอบอย่างชัดแจ้ง ดูข้อมูลเพิ่มเติมได้ที่ หน้ากฎ
|
attrs
|
dict; or None ;
ค่าเริ่มต้น = ไม่มีสำหรับประกาศแอตทริบิวต์ทั้งหมดของกฎ โดยจะแมปจากชื่อแอตทริบิวต์กับออบเจ็กต์แอตทริบิวต์ (ดูโมดูล attr) แอตทริบิวต์ที่ขึ้นต้นด้วย _ เป็นแบบส่วนตัว และใช้เพื่อเพิ่มการขึ้นต่อกันโดยนัยในป้ายกำกับได้ มีการเพิ่มแอตทริบิวต์ name โดยปริยายและต้องไม่ระบุไว้ ระบบจะเพิ่มแอตทริบิวต์ visibility , deprecation , tags , testonly และ features โดยปริยายและลบล้างไม่ได้ กฎส่วนใหญ่ต้องการแอตทริบิวต์เพียงไม่กี่อย่าง หากต้องการจำกัดการใช้งานหน่วยความจำ ฟังก์ชันของกฎจะกำหนดขีดจำกัดขนาดของแอตทริบิวต์
|
outputs
|
dict; or None; or function ;
ค่าเริ่มต้น = ไม่มีเลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย ---incompatible_no_rule_outputs_param ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้ เลิกใช้งานพารามิเตอร์นี้แล้ว โปรดย้ายข้อมูลกฎเพื่อใช้ OutputGroupInfo หรือ attr.output แทน สคีมาสำหรับกำหนดเอาต์พุตที่ประกาศล่วงหน้า ผู้ใช้ไม่ได้ระบุป้ายกำกับให้ไฟล์เหล่านี้ ซึ่งต่างจากแอตทริบิวต์ ค่าของอาร์กิวเมนต์นี้คือพจนานุกรมหรือฟังก์ชัน Callback ที่สร้างพจนานุกรม การเรียกกลับทำงานคล้ายกับแอตทริบิวต์ทรัพยากร Dependency ที่คำนวณแล้ว กล่าวคือ ชื่อพารามิเตอร์ของฟังก์ชันจะมีการจับคู่กับแอตทริบิวต์ของกฎ เช่น หากคุณส่ง แต่ละรายการในพจนานุกรมจะสร้างเอาต์พุตที่ประกาศไว้ล่วงหน้าโดยที่คีย์เป็นตัวระบุ และค่าคือเทมเพลตสตริงที่กำหนดป้ายกำกับของเอาต์พุตนั้น ในฟังก์ชันการใช้งานของกฎ ตัวระบุจะกลายเป็นชื่อช่องที่ใช้เข้าถึง
ในทางปฏิบัติ ตัวยึดตำแหน่งที่ใช้แทนที่ใช้กันมากที่สุดคือ |
executable
|
ค่าเริ่มต้น = เท็จ กฎนี้ถือว่าเป็นไฟล์ปฏิบัติการหรือไม่ กล่าวคือ อาจเป็นหัวเรื่องของคำสั่ง blaze run หรือไม่ ดูข้อมูลเพิ่มเติมได้ที่ หน้ากฎ
|
output_to_genfiles
|
ค่าเริ่มต้น = เท็จ หากเป็นจริง ระบบจะสร้างไฟล์ในไดเรกทอรี genfiles แทนไดเรกทอรี bin โปรดอย่าตั้งค่าแฟล็กนี้ ยกเว้นในกรณีที่คุณต้องการใช้เพื่อความเข้ากันได้กับกฎที่มีอยู่ (เช่น เมื่อสร้างไฟล์ส่วนหัวสำหรับ C++) |
fragments
|
sequence of strings ;
ค่าเริ่มต้น = []รายการของชื่อของส่วนย่อยการกำหนดค่าที่กฎต้องใช้ในการกำหนดค่าเป้าหมาย |
host_fragments
|
sequence of strings ;
ค่าเริ่มต้น = []รายการของชื่อของส่วนย่อยการกำหนดค่าที่กฎต้องใช้ในการกำหนดค่าโฮสต์ |
_skylark_testable
|
ค่าเริ่มต้น = เท็จ (ทดลอง) หากเป็นจริง กฎนี้จะแสดงการดำเนินการสำหรับการตรวจสอบโดยกฎที่จำเป็นต้องใช้ผู้ให้บริการการดำเนินการ นอกจากนี้ ผู้ให้บริการยังใช้งานกฎได้โดยเรียกใช้ ctx.created_actions() ซึ่งควรใช้เพื่อทดสอบลักษณะการทํางานเวลาวิเคราะห์ของกฎ Starlark เท่านั้น ระบบอาจนำธงนี้ออกในอนาคต |
toolchains
|
sequence ;
ค่าเริ่มต้น = []หากมีการตั้งค่า ชุดของ Toolchain ที่กฎนี้ต้องใช้ รายการอาจมีออบเจ็กต์ String, Label หรือ StarlarkToolchainTypeApi ผสมผสานกันอย่างไรก็ได้ คุณจะพบเครื่องมือเชนได้โดยการตรวจสอบแพลตฟอร์มปัจจุบัน และมอบให้กับการใช้งานกฎผ่าน ctx.toolchain
|
incompatible_use_toolchain_transition
|
ค่าเริ่มต้น = เท็จ เลิกใช้งานแล้ว เลิกใช้งานไปแล้วและควรนำออก |
doc
|
ค่าเริ่มต้น = '' คำอธิบายของกฎที่ดึงมาได้ด้วยเครื่องมือสร้างเอกสาร |
provides
|
ค่าเริ่มต้น = [] รายชื่อผู้ให้บริการที่ฟังก์ชันการใช้งานต้องแสดง โดยจะเกิดข้อผิดพลาดหากฟังก์ชันการใช้งานละเว้นประเภทผู้ให้บริการที่ระบุไว้ที่นี่ในค่าการแสดงผล แต่ฟังก์ชันการใช้งานอาจแสดงผลผู้ให้บริการเพิ่มเติมที่ไม่ได้ระบุไว้ที่นี่ องค์ประกอบแต่ละรายการของรายการเป็นออบเจ็กต์ |
exec_compatible_with
|
sequence of strings ;
ค่าเริ่มต้น = []รายการข้อจำกัดในแพลตฟอร์มการดำเนินการที่ใช้กับเป้าหมายทั้งหมดของกฎประเภทนี้ |
analysis_test
|
ค่าเริ่มต้น = เท็จ หากจริง ระบบจะถือว่ากฎนี้เป็นการทดสอบการวิเคราะห์ หมายเหตุ: กฎการทดสอบการวิเคราะห์กำหนดโดยใช้โครงสร้างพื้นฐานที่มีอยู่ในไลบรารี Starlark หลักเป็นหลัก ดูแนวทางได้ที่การทดสอบ หากกฎกำหนดเป็นกฎการทดสอบการวิเคราะห์ กฎดังกล่าวจะได้รับอนุญาตให้ใช้การเปลี่ยนการกำหนดค่าที่กำหนดไว้โดยใช้ analysis_test_transition ในแอตทริบิวต์ แต่เลือกใช้ข้อจำกัดบางอย่างดังนี้
|
build_setting
|
BuildSetting; or None ;
ค่าเริ่มต้น = ไม่มีหากตั้งค่าไว้ ให้อธิบายประเภทของ build setting กฎนี้ ดูโมดูล config หากตั้งค่าไว้ แอตทริบิวต์ที่จำเป็นซึ่งมีชื่อว่า "build_setting_default" จะเพิ่มในกฎนี้โดยอัตโนมัติ โดยมีประเภทที่สอดคล้องกับค่าที่ป้อนที่นี่
|
cfg
|
ค่าเริ่มต้น = ไม่มี หากตั้งค่าไว้ จะชี้ไปยังการเปลี่ยนการกำหนดค่าที่กฎจะมีผลกับการกำหนดค่าของตนเองก่อนการวิเคราะห์ |
exec_groups
|
dict; or None ;
ค่าเริ่มต้น = ไม่มีคำสั่งของชื่อกลุ่มการดำเนินการ (สตริง) ถึง exec_group s หากตั้งค่าไว้ จะอนุญาตให้กฎเรียกใช้การดำเนินการในแพลตฟอร์มการดำเนินการหลายแพลตฟอร์มภายในเป้าหมายเดียว ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของกลุ่มการดำเนินการ
|
compile_one_filetype
|
sequence of strings; or None ;
ค่าเริ่มต้น = ไม่มีใช้โดย --compile_one_dependency: หากมีกฎหลายข้อที่ใช้ไฟล์ที่ระบุ เราควรจะเลือกกฎนี้มากกว่ากฎอื่นๆ |
name
|
string; or None ;
ค่าเริ่มต้น = ไม่มีเลิกใช้งาน พารามิเตอร์นี้เลิกใช้งานแล้วและจะนำออกเร็วๆ นี้ โปรดอย่าพึ่งพา ถูกปิดใช้ด้วย --+incompatible_remove_rule_name_parameter ใช้ธงนี้เพื่อยืนยันว่าโค้ดของคุณเข้ากันได้กับการนำออกในเร็วๆ นี้ เลิกใช้งาน: ไม่ใช้ ชื่อของกฎนี้ที่ Bazel เข้าใจและรายงานในบริบท เช่น การบันทึก, หากไม่ใส่พารามิเตอร์นี้ ระบบจะตั้งชื่อกฎเป็นชื่อของตัวแปรร่วม Starlark ตัวแรกที่จะเชื่อมโยงกับกฎนี้ภายในโมดูล .bzl ที่ประกาศ ดังนั้น การระบุชื่อที่ชัดแจ้งของกฎจะไม่เปลี่ยนแปลงตำแหน่งที่คุณได้รับอนุญาตให้สร้างอินสแตนซ์กฎ |
เลือก
unknown select(x, no_match_error='')
select()
คือฟังก์ชันตัวช่วยที่ทำให้แอตทริบิวต์กฎ configurable ได้ ดูรายละเอียดได้ที่สารานุกรมสร้าง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ คำสั่งที่แมปเงื่อนไขการกำหนดค่ากับค่า แต่ละคีย์คือ Label หรือสตริงป้ายกํากับที่ระบุอินสแตนซ์ config_setting หรือrestrict_value ดูเอกสารประกอบเกี่ยวกับมาโครเพื่อดูว่าเมื่อใดควรใช้ป้ายกำกับแทนสตริง |
no_match_error
|
ค่าเริ่มต้น = '' ข้อผิดพลาดที่กำหนดเองที่ไม่บังคับที่จะรายงานหากไม่มีเงื่อนไขที่ตรงกัน |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
module_name
|
ต้องระบุ ชื่อของโมดูล Bazel ที่จะนำการลบล้างนี้ไปใช้ |
version
|
ค่าเริ่มต้น = '' ลบล้างเวอร์ชันที่ประกาศของโมดูลนี้ในกราฟทรัพยากร Dependency กล่าวคือ โมดูลนี้จะถูก "ปักหมุด" กับเวอร์ชันการลบล้างนี้ คุณละเว้นแอตทริบิวต์นี้ได้หากทุกแอตทริบิวต์ต้องการลบล้างรีจิสทรีหรือแพตช์ |
registry
|
ค่าเริ่มต้น = '' ลบล้างรีจิสทรีสำหรับโมดูลนี้ ควรใช้รีจิสทรีที่ระบุแทนการค้นหาโมดูลนี้จากรายการรีจิสทรีเริ่มต้น |
patches
|
Iterable of strings ;
ค่าเริ่มต้น = []รายการป้ายกำกับที่ชี้ไปยังไฟล์แพตช์ที่จะใช้สำหรับโมดูลนี้ ไฟล์แพตช์ต้องอยู่ในโครงสร้างแหล่งที่มาของโปรเจ็กต์ระดับบนสุด ซึ่งจะใช้ตามลำดับรายการ |
patch_cmds
|
Iterable of strings ;
ค่าเริ่มต้น = []ลำดับของคำสั่ง Bash ที่จะใช้กับ Linux/Macos หลังจากใช้แพตช์ |
patch_strip
|
ค่าเริ่มต้น = 0 เหมือนกับ --strip ของแพตช์ Unix |
จัดเรียงแล้ว
list sorted(iterable, *, key=None, reverse=False)
sorted([3, 5, 4]) == [3, 4, 5]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
iterable
|
ต้องระบุ ลำดับที่ทำซ้ำได้เพื่อจัดเรียง |
key
|
ค่าเริ่มต้น = ไม่มี ฟังก์ชันที่ไม่บังคับที่ใช้กับองค์ประกอบแต่ละรายการก่อนการเปรียบเทียบ |
reverse
|
ค่าเริ่มต้น = เท็จ แสดงผลลัพธ์ในลำดับจากมากไปน้อย |
str
string str(x)
str("ab") == "ab" str(8) == "8"
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ออบเจ็กต์ที่จะแปลง |
tag_class
tag_class tag_class(attrs={}, *, doc='')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
attrs
|
default = {} พจนานุกรมสำหรับประกาศแอตทริบิวต์ทั้งหมดของคลาสแท็กนี้ โดยจะแมปจากชื่อแอตทริบิวต์กับออบเจ็กต์แอตทริบิวต์ (ดูโมดูล attr) |
doc
|
ค่าเริ่มต้น = '' คำอธิบายของคลาสแท็กที่ดึงมาได้ด้วยเครื่องมือสร้างเอกสาร |
Tuple
tuple tuple(x=())
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ค่าเริ่มต้น = () ออบเจ็กต์ที่จะแปลง |
ประเภท
string type(x)
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"
if type(x) == type([]): # if x is a list
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
x
|
ต้องระบุ ออบเจ็กต์ที่จะตรวจสอบประเภท |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
extension_bzl_file
|
ต้องระบุ ป้ายกำกับของไฟล์ Starlark ที่กำหนดส่วนขยายโมดูล |
extension_name
|
ต้องระบุ ชื่อของส่วนขยายโมดูลที่จะใช้ โดยไฟล์ Starlark จะต้องส่งออกสัญลักษณ์ที่มีชื่อนี้ |
dev_dependency
|
ค่าเริ่มต้น = เท็จ หากจริง ระบบจะไม่สนใจการใช้ส่วนขยายโมดูลนี้หากโมดูลปัจจุบันไม่ใช่โมดูลรูทหรือเปิดใช้ "--ignore_dev_dependency" |
use_repo
None use_repo(extension_proxy, *args, **kwargs)
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
extension_proxy
|
ต้องระบุ ออบเจ็กต์พร็อกซีส่วนขยายโมดูลที่แสดงผลโดยการเรียก use_extension
|
args
|
ต้องระบุ ชื่อของที่เก็บที่จะนำเข้า |
kwargs
|
ต้องระบุ ระบุที่เก็บบางรายการที่จะนำเข้าไปยังขอบเขตของโมดูลปัจจุบันโดยใช้ชื่ออื่น คีย์ควรเป็นชื่อที่จะใช้ในขอบเขตปัจจุบัน ส่วนค่าควรเป็นชื่อเดิมที่ส่งออกโดยส่วนขยายโมดูล |
การเปิดเผย
None visibility(value)
ตั้งค่าการแสดงการโหลดของโมดูล .bzl ที่กำลังเริ่มต้น
ระดับการมองเห็นโหลดของโมดูลจะเป็นตัวกำหนดว่าไฟล์ BUILD และ .bzl อื่นๆ จะสามารถโหลดได้หรือไม่ (ซึ่งแตกต่างจากการเปิดเผยเป้าหมายของไฟล์ต้นฉบับ .bzl ที่เกี่ยวข้อง ซึ่งควบคุมว่าไฟล์ดังกล่าวอาจปรากฏเป็นทรัพยากร Dependency ของเป้าหมายอื่นๆ หรือไม่) ระดับการเข้าถึงการโหลดจะทำงานในระดับแพ็กเกจ: หากต้องการโหลดโมดูล ไฟล์ที่โหลดต้องอยู่ในแพ็กเกจที่ให้สิทธิ์ระดับการเข้าถึงโมดูล คุณสามารถโหลดโมดูลภายในแพ็กเกจของตนเองได้เสมอ โดยไม่คำนึงถึงระดับการมองเห็น
สามารถเรียก visibility()
ได้เพียงครั้งเดียวต่อไฟล์ .bzl และจะเรียกที่ระดับบนสุดเท่านั้น ไม่ใช่ภายในฟังก์ชัน รูปแบบที่แนะนำคือให้เรียกนี้ด้านล่างคำสั่ง load()
และตรรกะสั้นๆ ที่จำเป็นในการกำหนดอาร์กิวเมนต์
หากตั้งค่าการทำเครื่องหมาย --check_bzl_visibility
เป็น "เท็จ" การละเมิดระดับการมองเห็นโหลดจะแสดงคำเตือน แต่ไม่ทำให้บิลด์ล้มเหลว
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
value
|
ต้องระบุ รายการสตริงข้อกำหนดแพ็กเกจหรือสตริงข้อกำหนดแพ็กเกจเดียว ข้อกำหนดเฉพาะของแพ็กเกจมีรูปแบบเดียวกับ
สัญลักษณ์ "@" ไม่อนุญาตให้ใช้ไวยากรณ์ ระบบจะตีความข้อกำหนดทั้งหมดโดยสัมพันธ์กับที่เก็บของโมดูลปัจจุบัน หาก โปรดทราบว่าแฟล็ก |
พื้นที่ทำงาน
None workspace(name)
ฟังก์ชันนี้ใช้ได้เฉพาะในไฟล์ WORKSPACE
และต้องมีการประกาศก่อนฟังก์ชันอื่นๆ ทั้งหมดในไฟล์ WORKSPACE
ไฟล์ WORKSPACE
แต่ละไฟล์ควรมีฟังก์ชัน workspace
ตั้งชื่อพื้นที่ทำงานนี้ ชื่อพื้นที่ทำงานควรเป็นคำอธิบายโปรเจ็กต์ในรูปแบบ Java โดยใช้ขีดล่างเป็นตัวคั่น เช่น github.com/bazelbuild/bazel ควรใช้ com_github_bazelbuild_bazel
ชื่อนี้ใช้กับไดเรกทอรีที่จัดเก็บไฟล์ของที่เก็บเอาไว้ เช่น หากมีไฟล์รัน foo/bar
ในที่เก็บในเครื่องและไฟล์ WORKSPACE มี workspace(name = 'baz')
ไฟล์รันไฟล์จะพร้อมใช้งานภายใต้ mytarget.runfiles/baz/foo/bar
หากไม่ได้ระบุชื่อพื้นที่ทำงาน ไฟล์รันไฟล์จะลิงก์กับ bar.runfiles/foo/bar
ชื่อกฎของที่เก็บระยะไกลต้องเป็นชื่อพื้นที่ทำงานที่ถูกต้อง ตัวอย่างเช่น คุณมี maven_jar(name = 'foo')
แต่ไม่ใช่ maven_jar(name = 'foo%bar')
เนื่องจาก Bazel จะพยายามเขียนไฟล์ WORKSPACE สำหรับ maven_jar
ที่มี workspace(name = 'foo%bar')
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
name
|
ต้องระบุ ชื่อพื้นที่ทำงาน ชื่อต้องขึ้นต้นด้วยตัวอักษรและมีได้เฉพาะตัวอักษร ตัวเลข ขีดล่าง ขีดกลาง และจุดเท่านั้น |
zip
list zip(*args)
list
ของ tuple
โดยที่ Tuple ตัว i มีองค์ประกอบ i-th จากลำดับอาร์กิวเมนต์หรืออาร์กิวเมนต์ที่ทำซ้ำแต่ละรายการได้ รายการมีขนาดของอินพุตที่สั้นที่สุด ด้วยอาร์กิวเมนต์ที่ซ้ำกันได้เพียงรายการเดียว จะแสดงผลรายการ 1-tuples หากไม่มีอาร์กิวเมนต์ จะแสดงเป็นรายการที่ว่างเปล่า ตัวอย่างzip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
args
|
ต้องระบุ รายการที่จะบีบอัด |