ระบบนิเวศของ Bazel มีชุดกฎที่เพิ่มขึ้นและมีการพัฒนาอย่างต่อเนื่องเพื่อรองรับภาษาและแพ็กเกจยอดนิยม จุดแข็งส่วนใหญ่ของ Bazel มาจากความสามารถในการ กำหนดกฎใหม่ที่ผู้อื่นสามารถนำไปใช้ได้
หน้านี้อธิบายกฎของ Bazel ที่แนะนำ กฎดั้งเดิม และกฎที่ไม่ดั้งเดิม
กฎที่แนะนำ
ตัวอย่างกฎที่แนะนำมีดังนี้
- Android
- C / C++
- Docker/OCI
- Go
- Haskell
- Java
- JavaScript / NodeJS
- การจัดการทรัพยากร Dependency ของ Maven
- Objective-C
- การสร้างแพ็กเกจ
- Protocol Buffers
- Python
- Rust
- Scala
- Shell
- การทดสอบเว็บ (Webdriver)
ที่เก็บ Skylib มี ฟังก์ชันเพิ่มเติมที่เป็นประโยชน์เมื่อเขียนกฎและ มาโครใหม่
กฎข้างต้นได้รับการตรวจสอบแล้วและเป็นไปตามข้อกำหนดสำหรับกฎที่แนะนำ โปรดติดต่อผู้ดูแลชุดกฎที่เกี่ยวข้องหากมีปัญหาและคำขอฟีเจอร์
หากต้องการค้นหากฎของ Bazel เพิ่มเติม ให้ใช้เครื่องมือค้นหา ดูที่ awesomebazel.com หรือค้นหาใน GitHub
กฎดั้งเดิมที่ใช้ไม่ได้กับภาษาโปรแกรมเฉพาะ
กฎดั้งเดิมจะมาพร้อมกับไบนารีของ Bazel และพร้อมใช้งานในไฟล์ BUILD เสมอโดยไม่ต้องมีคำสั่ง load
- การกระทำเพิ่มเติม
- ทั่วไป
- แพลตฟอร์ม
- พื้นที่ทำงาน
กฎที่ไม่ดั้งเดิมที่ฝังไว้
นอกจากนี้ Bazel ยังฝังกฎเพิ่มเติมที่เขียนด้วย Starlark ไว้ด้วย ซึ่งสามารถโหลดได้จากที่เก็บภายนอกในตัว @bazel_tools