ctx.actions
สมาชิก
- อาร์กิวเมนต์
- declare_directory
- declare_file
- declare_symlink
- do_nothing
- expand_template
- run
- run_shell
- symlink
- template_dict
- write
args
Args actions.args()แสดงผลออบเจ็กต์ Args ที่ใช้สร้างบรรทัดคำสั่งที่ประหยัดหน่วยความจำได้
declare_directory
File actions.declare_directory(filename, *, sibling=None)ประกาศว่ากฎหรือองค์ประกอบสร้างไดเรกทอรีด้วยชื่อที่ระบุในแพ็กเกจปัจจุบัน คุณต้องสร้างการดำเนินการที่สร้างไดเรกทอรี เนื้อหาของไดเรกทอรีจะเข้าถึงจาก Starlark โดยตรงไม่ได้ แต่สามารถขยายในคำสั่งการดำเนินการด้วย
Args.add_all()
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
filename
|
ต้องระบุ หากไม่ได้ระบุ "sibling" เส้นทางของไดเรกทอรีใหม่จะสัมพันธ์กับแพ็กเกจปัจจุบัน หรือจะเป็นชื่อฐานของไฟล์ก็ได้ ('sibling' จะกำหนดไดเรกทอรี) |
sibling
|
File; or None ;
default = Noneเป็นไฟล์ที่อยู่ในไดเรกทอรีเดียวกับไดเรกทอรีที่ประกาศใหม่ ไฟล์ต้องอยู่ในแพ็กเกจปัจจุบัน |
declare_file
File actions.declare_file(filename, *, sibling=None)ประกาศว่ากฎหรือแง่มุมสร้างไฟล์ที่มีชื่อไฟล์ที่ระบุ หากไม่ได้ระบุ
sibling
ชื่อไฟล์จะสัมพันธ์กับไดเรกทอรีแพ็กเกจ หรือไฟล์จะอยู่ในไดเรกทอรีเดียวกับ sibling
ไม่สามารถสร้างไฟล์นอกแพ็กเกจปัจจุบันโปรดทราบว่านอกจากการประกาศไฟล์แล้ว คุณยังต้องสร้างการดำเนินการที่ส่งออกไฟล์แยกต่างหากด้วย การสร้างการดําเนินการดังกล่าวจะต้องส่งออบเจ็กต์ File
ที่แสดงผลไปยังฟังก์ชันการสร้างของการดําเนินการ
โปรดทราบว่าไฟล์เอาต์พุตที่ประกาศล่วงหน้าไม่จําเป็นต้องมีการประกาศโดยใช้ฟังก์ชันนี้ คุณสามารถรับออบเจ็กต์ File
ได้จาก ctx.outputs
แทน ดูตัวอย่างการใช้งาน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
filename
|
ต้องระบุ หากไม่ได้ระบุ "sibling" เส้นทางของไฟล์ใหม่จะสัมพันธ์กับแพ็กเกจปัจจุบัน หรือจะเป็นชื่อฐานของไฟล์ก็ได้ ('sibling' จะกำหนดไดเรกทอรี) |
sibling
|
File; or None ;
default = Noneเป็นไฟล์ที่อยู่ในไดเรกทอรีเดียวกับไฟล์ที่สร้างขึ้นใหม่ ไฟล์ต้องอยู่ในแพ็กเกจปัจจุบัน |
declare_symlink
File actions.declare_symlink(filename, *, sibling=None)
ทดลอง พารามิเตอร์นี้อยู่ในขั้นทดลองและอาจเปลี่ยนแปลงได้ตลอดเวลา โปรดอย่าพึ่งพา คุณอาจเปิดใช้ฟีเจอร์นี้เป็นการทดลองได้โดยการตั้งค่า --experimental_allow_unresolved_symlinks
ประกาศว่ากฎหรือองค์ประกอบจะสร้างลิงก์สัญลักษณ์ที่มีชื่อที่ระบุในแพ็กเกจปัจจุบัน คุณต้องสร้างการดำเนินการที่สร้างลิงก์สัญลักษณ์นี้ Bazel จะไม่ยกเลิกการอ้างอิงลิงก์สัญลักษณ์นี้และจะโอนไปยังแซนด์บ็อกซ์หรือผู้ดำเนินการระยะไกลโดยถอดเสียง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
filename
|
ต้องระบุ หากไม่ได้ระบุ "sibling" เส้นทางของลิงก์สัญลักษณ์ใหม่ซึ่งสัมพันธ์กับแพ็กเกจปัจจุบัน หรือจะเป็นชื่อฐานของไฟล์ก็ได้ ('sibling' จะกำหนดไดเรกทอรี) |
sibling
|
File; or None ;
ค่าเริ่มต้น = ไม่มีไฟล์ที่อาศัยอยู่ในไดเรกทอรีเดียวกับลิงก์สัญลักษณ์ที่ประกาศใหม่ |
do_nothing
None actions.do_nothing(mnemonic, inputs=[])สร้างการดำเนินการเปล่าที่ไม่ได้เรียกใช้คำสั่งและไม่สร้างเอาต์พุตใดๆ แต่มีประโยชน์สำหรับการแทรก "การดำเนินการเพิ่มเติม"
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
mnemonic
|
ต้องระบุ คำอธิบายการดำเนินการแบบ 1 คำ เช่น CppCompile หรือ GoLink |
inputs
|
sequence of Files; or depset ;
ค่าเริ่มต้น = []รายการไฟล์อินพุตของการดำเนินการ |
expand_template
None actions.expand_template(template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)สร้างการดําเนินการขยายเทมเพลต เมื่อดำเนินการแล้ว ระบบจะสร้างไฟล์ตามเทมเพลต บางส่วนของเทมเพลตจะถูกแทนที่โดยใช้พจนานุกรม
substitutions
ตามลำดับที่ระบุการแทนที่ เมื่อใดก็ตามที่คีย์ของพจนานุกรมปรากฏในเทมเพลต (หรือผลลัพธ์ของการแทนที่ก่อนหน้านี้) ระบบจะแทนที่คีย์ด้วยค่าที่เกี่ยวข้อง คีย์ไม่มีไวยากรณ์พิเศษ เช่น คุณอาจใช้วงเล็บปีกกาเพื่อหลีกเลี่ยงข้อขัดแย้ง (เช่น {KEY}
) ดูตัวอย่างการใช้งาน
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
template
|
ต้องระบุ ไฟล์เทมเพลต ซึ่งเป็นไฟล์ข้อความที่เข้ารหัส UTF-8 |
output
|
ต้องระบุ ไฟล์เอาต์พุต ซึ่งเป็นไฟล์ข้อความที่เข้ารหัสแบบ UTF-8 |
substitutions
|
default = {} การแทนที่ที่จะทำเมื่อขยายเทมเพลต |
is_executable
|
ค่าเริ่มต้น = เท็จ ไฟล์เอาต์พุตควรเป็นไฟล์ปฏิบัติการหรือไม่ |
computed_substitutions
|
TemplateDict ;
default = unboundทดลอง พารามิเตอร์นี้อยู่ในขั้นทดลองและอาจเปลี่ยนแปลงได้ตลอดเวลา โปรดอย่าใช้ข้อมูลนี้ คุณอาจเปิดใช้การตั้งค่านี้ในขั้นทดลองได้โดยการตั้งค่า --+experimental_lazy_template_expansion การทดสอบ: การเปลี่ยนทดแทนที่จะทำเมื่อขยายเทมเพลต |
โฮมรัน
None actions.run(outputs, inputs=[], unused_inputs_list=None, executable, tools=unbound, arguments=[], mnemonic=None, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=None)สร้างการทำงานที่เรียกใช้ไฟล์ปฏิบัติการ ดูตัวอย่างการใช้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
outputs
|
sequence of Files ;
ต้องระบุรายการไฟล์เอาต์พุตของการดำเนินการ |
inputs
|
sequence of Files; or depset ;
default = []List or depset of the input files of the action. |
unused_inputs_list
|
File; or None ;
ค่าเริ่มต้น = ไม่มีไฟล์ที่มีรายการอินพุตที่การดำเนินการไม่ได้ใช้ เนื้อหาของไฟล์นี้ (โดยทั่วไปเป็นหนึ่งในเอาต์พุตของการดำเนินการ) สอดคล้องกับรายการไฟล์อินพุตที่ไม่ได้ใช้ระหว่างการดำเนินการทั้งหมด การเปลี่ยนแปลงใดๆ ในไฟล์เหล่านั้นต้องไม่ส่งผลกระทบใดๆ ต่อเอาต์พุตของการดำเนินการ |
executable
|
File; or string; or FilesToRunProvider ;
ต้องระบุไฟล์ปฏิบัติการที่จะเรียกใช้โดยการดำเนินการ |
tools
|
sequence; or depset ;
ค่าเริ่มต้น = ไม่จำกัดแสดงรายการหรือเลิกใช้เครื่องมือที่การดำเนินการนี้ต้องใช้ เครื่องมือคืออินพุตที่มีไฟล์เรียกใช้เพิ่มเติมซึ่งพร้อมใช้งานสําหรับการดำเนินการโดยอัตโนมัติ เมื่อมีการระบุรายการ อาจมีคอลเล็กชันที่หลากหลายของอินสแตนซ์ Files, FilesToRunProvider หรือ Depset ของ Files ระบบจะเพิ่มไฟล์รันไทม์ของไฟล์ที่อยู่ในรายการโดยตรงและมาจาก ctx.executable โดยอัตโนมัติ เมื่อระบุ Depset แล้ว ไฟล์ดังกล่าวต้องมีเฉพาะ Files เท่านั้น ในทั้ง 2 กรณี ระบบจะไม่ตรวจสอบไฟล์ภายใน depset กับ ctx.executable สำหรับไฟล์รันไทม์ |
arguments
|
sequence ;
default = []Command line arguments of the action. ต้องเป็นรายการสตริงหรือออบเจ็กต์ actions.args()
|
mnemonic
|
string; or None ;
default = Noneคำอธิบายการดำเนินการแบบ 1 คำ เช่น CppCompile หรือ GoLink |
progress_message
|
string; or None ;
ค่าเริ่มต้น = ไม่มีข้อความความคืบหน้าที่จะแสดงต่อผู้ใช้ในระหว่างบิลด์ เช่น "คอมไพล์ foo.cc เพื่อสร้าง foo.o" ข้อความอาจมีรูปแบบ %{label} , %{input} หรือ %{output} ซึ่งระบบจะแทนที่ด้วยสตริงป้ายกำกับ อินพุตแรก หรือเส้นทางเอาต์พุตตามลำดับ แนะนำให้ใช้รูปแบบแทนสตริงแบบคงที่ เนื่องจากรูปแบบมีประสิทธิภาพมากกว่า
|
use_default_shell_env
|
default = False การดำเนินการควรใช้สภาพแวดล้อมเชลล์ในตัวหรือไม่ |
env
|
dict; or None ;
default = Noneกําหนดพจนานุกรมของตัวแปรสภาพแวดล้อม |
execution_requirements
|
dict; or None ;
default = Noneข้อมูลสำหรับการตั้งเวลาการดําเนินการ ดูคีย์ที่มีประโยชน์ในแท็ก |
input_manifests
|
sequence; or None ;
default = None(ทดลอง) ตั้งค่าข้อมูลเมตาของไฟล์รันไทม์อินพุต ซึ่งโดยปกติแล้วระบบจะสร้างจาก resolve_command |
exec_group
|
string; or None ;
default = Noneเรียกใช้การดำเนินการบนแพลตฟอร์มการดำเนินการของกลุ่ม exec ที่ระบุ หากไม่มี จะใช้แพลตฟอร์มการเรียกใช้เริ่มต้นของเป้าหมาย |
shadowed_action
|
Action ;
default = Noneเรียกใช้การดำเนินการโดยใช้อินพุตและสภาพแวดล้อมของการดำเนินการที่ซ้อนทับซึ่งระบุไว้ซึ่งเพิ่มลงในรายการอินพุตและสภาพแวดล้อมของการดำเนินการ สภาพแวดล้อมการดำเนินการสามารถเขียนทับตัวแปรสภาพแวดล้อมของการดำเนินการที่ถูกซ้อนได้ หากไม่มี ให้ใช้เฉพาะอินพุตของการดำเนินการและสภาพแวดล้อมที่กำหนด |
resource_set
|
callable; or None ;
default = Noneฟังก์ชันการเรียกกลับที่แสดงพจนานุกรมชุดทรัพยากร ซึ่งใช้เพื่อประมาณการใช้ทรัพยากร ณ เวลาดำเนินการหากการดำเนินการนี้ทำงานในเครื่อง ฟังก์ชันนี้ยอมรับอาร์กิวเมนต์ตำแหน่ง 2 รายการ ได้แก่ สตริงที่แสดงชื่อระบบปฏิบัติการ (เช่น "osx") และจำนวนเต็มที่แสดงจํานวนอินพุตสําหรับการดําเนินการ พจนานุกรมที่แสดงผลอาจมีรายการต่อไปนี้ ซึ่งแต่ละรายการอาจเป็น float หรือ int
หากตั้งค่าพารามิเตอร์นี้เป็น Callback ต้องเป็นระดับบนสุด (ไม่อนุญาตให้ใช้ lambda และฟังก์ชันที่ซ้อนกัน) |
toolchain
|
Label; or string; or None ;
default = Noneประเภท Toolchain ของไฟล์ปฏิบัติการหรือเครื่องมือที่ใช้ในการดำเนินการนี้ ต้องตั้งค่าพารามิเตอร์เพื่อให้การดำเนินการนั้นดำเนินการบนแพลตฟอร์มการดำเนินการที่ถูกต้อง ตอนนี้ยังไม่มีการดำเนินการ แต่เราขอแนะนำให้ตั้งค่าเมื่อมีการใช้ Toolchain เนื่องจากจะต้องใช้ใน Bazel รุ่นต่อๆ ไป โปรดทราบว่ากฎที่สร้างการดำเนินการนี้ต้องกำหนดเครื่องมือนี้ภายในฟังก์ชัน "rule()" เมื่อตั้งค่าพารามิเตอร์ "toolchain" และ "exec_group" ทั้งคู่ ระบบจะใช้ "exec_group" ระบบจะแสดงข้อผิดพลาดในกรณีที่ `exec_group` ไม่ได้ระบุค่าเดียวกัน |
run_shell
None actions.run_shell(outputs, inputs=[], tools=unbound, arguments=[], mnemonic=None, command, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=None)สร้างการดำเนินการที่เรียกใช้คำสั่ง Shell ดูตัวอย่างการใช้
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
outputs
|
sequence of Files ;
ต้องระบุรายการไฟล์เอาต์พุตของการดำเนินการ |
inputs
|
sequence of Files; or depset ;
ค่าเริ่มต้น = []แสดงรายการหรือคืนค่าไฟล์อินพุตของการดำเนินการ |
tools
|
sequence of Files; or depset ;
default = unboundList or depset of any tools needed by the action. เครื่องมือคืออินพุตที่มีไฟล์เรียกใช้เพิ่มเติมซึ่งพร้อมใช้งานสําหรับการดำเนินการโดยอัตโนมัติ รายการอาจมีอินสแตนซ์ Files หรือ FilesToRunProvider ก็ได้ |
arguments
|
sequence ;
ค่าเริ่มต้น = []อาร์กิวเมนต์บรรทัดคำสั่งของการดำเนินการ ต้องเป็นรายการสตริงหรือออบเจ็กต์ actions.args() Bazel จะส่งองค์ประกอบในแอตทริบิวต์นี้เป็นอาร์กิวเมนต์ไปยังคําสั่ง คําสั่งจะเข้าถึงอาร์กิวเมนต์เหล่านี้ได้โดยใช้การแทนที่ตัวแปรเชลล์ เช่น ในกรณีที่ |
mnemonic
|
string; or None ;
default = Noneคำอธิบายการดำเนินการแบบ 1 คำ เช่น CppCompile หรือ GoLink |
command
|
string; or sequence of strings ;
ต้องระบุคำสั่ง Shell ที่จะดำเนินการ ซึ่งอาจเป็นสตริง (แนะนำ) หรือลำดับสตริง (เลิกใช้งานแล้ว) หาก (เลิกใช้งานแล้ว) หาก Bazel ใช้เชลล์เดียวกันเพื่อเรียกใช้คำสั่งเช่นเดียวกับที่ใช้สำหรับ genrules |
progress_message
|
string; or None ;
default = Noneข้อความแสดงสถานะที่จะแสดงต่อผู้ใช้ระหว่างการบิลด์ เช่น "กำลังคอมไพล์ foo.cc เพื่อสร้าง foo.o" ข้อความอาจมีรูปแบบ %{label} , %{input} หรือ %{output} ซึ่งระบบจะแทนที่ด้วยสตริงป้ายกำกับ อินพุตแรก หรือเส้นทางเอาต์พุตตามลำดับ แนะนำให้ใช้รูปแบบแทนสตริงแบบคงที่ เนื่องจากรูปแบบมีประสิทธิภาพมากกว่า
|
use_default_shell_env
|
ค่าเริ่มต้น = เท็จ การดำเนินการควรใช้สภาพแวดล้อม Shell ในตัวหรือไม่ |
env
|
dict; or None ;
default = Noneกําหนดพจนานุกรมของตัวแปรสภาพแวดล้อม |
execution_requirements
|
dict; or None ;
default = Noneข้อมูลสำหรับการตั้งเวลาการดําเนินการ ดูคีย์ที่มีประโยชน์ในแท็ก |
input_manifests
|
sequence; or None ;
ค่าเริ่มต้น = ไม่มี(ทดลอง) ตั้งค่าข้อมูลเมตาของไฟล์อินพุตสำหรับการเรียกใช้ ซึ่งมักสร้างโดยresolve_command |
exec_group
|
string; or None ;
default = Noneเรียกใช้การดำเนินการบนแพลตฟอร์มการดำเนินการของกลุ่มการดําเนินการหนึ่งๆ หากไม่มี ให้ใช้แพลตฟอร์มการดำเนินการเริ่มต้นของเป้าหมาย |
shadowed_action
|
Action ;
default = Noneเรียกใช้การดำเนินการโดยใช้อินพุตที่ค้นพบของการดำเนินการที่ซ้อนทับซึ่งระบุไว้ซึ่งเพิ่มลงในรายการอินพุตของการดำเนินการ หากไม่มี ให้ใช้เฉพาะอินพุตของการดำเนินการ |
resource_set
|
callable; or None ;
ค่าเริ่มต้น = ไม่มีฟังก์ชัน Callback สำหรับการประมาณการใช้งานทรัพยากรหากเรียกใช้ในเครื่อง โปรดดู ctx.actions.run()
|
toolchain
|
Label; or string; or None ;
default = Noneประเภท Toolchain ของไฟล์ปฏิบัติการหรือเครื่องมือที่ใช้ในการดำเนินการนี้ คุณต้องตั้งค่าพารามิเตอร์เพื่อให้การดำเนินการทํางานบนแพลตฟอร์มการดําเนินการที่ถูกต้อง ตอนนี้ยังไม่มีการดำเนินการ แต่เราขอแนะนำให้ตั้งค่าเมื่อมีการใช้ Toolchain เนื่องจากจะต้องใช้ใน Bazel รุ่นต่อๆ ไป โปรดทราบว่ากฎที่สร้างการดำเนินการนี้ต้องกำหนดเครื่องมือนี้ภายในฟังก์ชัน "rule()" เมื่อตั้งค่าทั้งพารามิเตอร์ "toolchain" และ "exec_group" ระบบจะใช้ "exec_group" ข้อผิดพลาดจะปรากฏขึ้นในกรณีที่ "exec_group" ไม่ได้ระบุค่าเดียวกัน Toolchain |
ลิงก์สัญลักษณ์
None actions.symlink(output, target_file=None, target_path=None, is_executable=False, progress_message=None)สร้างการดำเนินการที่จะเขียนลิงก์สัญลักษณ์ (symlink) ในระบบไฟล์
ต้องเรียกใช้ฟังก์ชันนี้โดยระบุ target_file
หรือ target_path
อย่างใดอย่างหนึ่งเท่านั้น
เมื่อคุณใช้ target_file
ให้ประกาศ output
ด้วย declare_file()
หรือ declare_directory()
และจับคู่ประเภทของ target_file
ซึ่งจะทำให้ลิงก์สัญลักษณ์ชี้ไปที่ target_file
Bazel ยกเลิกเอาต์พุตของการกระทำนี้เมื่อเป้าหมายของลิงก์สัญลักษณ์หรือเนื้อหาของลิงก์มีการเปลี่ยนแปลง
หรือเมื่อใช้ target_path
ให้ประกาศ output
ด้วย declare_symlink()
) ในกรณีนี้ ลิงก์สัญลักษณ์จะชี้ไปยัง target_path
Bazel จะไม่แก้ไขลิงก์สัญลักษณ์ และเอาต์พุตของการดำเนินการนี้จะใช้งานไม่ได้ก็ต่อเมื่อเนื้อหาข้อความของลิงก์สัญลักษณ์ (นั่นคือค่าของ readlink()
) เปลี่ยนแปลงเท่านั้น โดยเฉพาะอย่างยิ่ง สามารถใช้คำสั่งนี้เพื่อสร้างลิงก์สัญลักษณ์ที่ไม่มีการอ้างอิง
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
output
|
required เอาต์พุตของการดำเนินการนี้ |
target_file
|
File; or None ;
ค่าเริ่มต้น = ไม่มีไฟล์ที่ลิงก์สัญลักษณ์เอาต์พุตจะชี้ไป |
target_path
|
string; or None ;
default = None(ทดลอง) เส้นทางที่แน่นอนซึ่งลิงก์สัญลักษณ์เอาต์พุตจะชี้ไป โดยจะไม่มีการปรับให้เป็นมาตรฐานหรือการประมวลผลอื่นๆ คุณต้องตั้งค่า --experimental_allow_unresolved_symlinks เพื่อเข้าถึงฟีเจอร์นี้
|
is_executable
|
ค่าเริ่มต้น = เท็จ ใช้ได้กับ target_file เท่านั้น ใช้กับ target_path ไม่ได้ หากเป็น "จริง" ระบบจะตรวจสอบเส้นทางของ target_file เพื่อยืนยันว่าเรียกใช้ได้ และจะรายงานข้อผิดพลาดหากไม่ได้ดำเนินการ การตั้งค่า is_executable เป็น "เท็จ" ไม่ได้หมายความว่าเป้าหมายเรียกใช้ไม่ได้ เพียงแต่ว่าไม่มีการยืนยันจนเสร็จสมบูรณ์ฟีเจอร์นี้ใช้กับ |
progress_message
|
string; or None ;
ค่าเริ่มต้น = ไม่มีข้อความความคืบหน้าที่จะแสดงต่อผู้ใช้ในระหว่างบิลด์ |
template_dict
TemplateDict actions.template_dict()ทดลอง API นี้อยู่ในขั้นทดลองและอาจเปลี่ยนแปลงได้ตลอดเวลา โปรดอย่าพึ่งพา คุณสามารถเปิดใช้ในขั้นทดลองได้โดยการตั้งค่า
--+experimental_lazy_template_expansion
ทดลอง: แสดงผลออบเจ็กต์ TemplateDict สำหรับการขยายเทมเพลตที่ประหยัดหน่วยความจำ
เขียน
None actions.write(output, content, is_executable=False)สร้างการเขียนไฟล์ เมื่อดำเนินการแล้ว ระบบจะเขียนเนื้อหาที่ระบุลงในไฟล์ ซึ่งจะใช้ในการสร้างไฟล์โดยใช้ข้อมูลที่มีอยู่ในขั้นตอนการวิเคราะห์ หากไฟล์มีขนาดใหญ่และมีเนื้อหาแบบคงที่จำนวนมาก ให้ลองใช้
expand_template
พารามิเตอร์
พารามิเตอร์ | คำอธิบาย |
---|---|
output
|
ต้องระบุ ไฟล์เอาต์พุต |
content
|
string; or Args ;
ต้องระบุเนื้อหาของไฟล์ อาจเป็นสตริงหรือออบเจ็กต์ actions.args()
|
is_executable
|
default = False กำหนดว่าไฟล์เอาต์พุตควรเป็นแบบที่เรียกใช้ได้หรือไม่ |