คุณช่วยโปรเจ็กต์และระบบนิเวศของ Bazel ได้หลายวิธี
แสดงความคิดเห็น
ขณะใช้ Bazel คุณอาจพบสิ่งต่างๆ ที่ปรับปรุงได้ คุณช่วยได้โดยรายงานปัญหาในกรณีต่อไปนี้
- Bazel ขัดข้องหรือคุณพบข้อบกพร่องที่แก้ไขได้โดยใช้
bazel clean
เท่านั้น - เอกสารประกอบไม่สมบูรณ์หรือไม่ชัดเจน นอกจากนี้ คุณยังรายงานปัญหา จากหน้าที่กำลังดูได้โดยใช้ลิงก์ "สร้างปัญหา" ที่มุมขวาบนของหน้า
- ปรับปรุงข้อความแสดงข้อผิดพลาดได้
เข้าร่วมในชุมชน
คุณมีส่วนร่วมกับชุมชน Bazel ได้โดยทำสิ่งต่อไปนี้
- ตอบคำถามใน Stack Overflow
- การช่วยเหลือผู้ใช้รายอื่นใน Slack
- การปรับปรุงเอกสารประกอบหรือการมีส่วนร่วมด้วยตัวอย่าง
- การแชร์ประสบการณ์หรือเคล็ดลับ เช่น ในบล็อกหรือโซเชียลมีเดีย
ร่วมเขียนโค้ด
Bazel เป็นโปรเจ็กต์ขนาดใหญ่และการเปลี่ยนแปลงซอร์สโค้ดของ Bazel อาจเป็นเรื่องยาก
คุณสามารถมีส่วนร่วมในระบบนิเวศของ Bazel ได้โดยทำสิ่งต่อไปนี้
- ช่วยผู้ดูแลกฎโดยการส่งคำขอดึงข้อมูล
- การสร้างกฎใหม่และการเผยแพร่กฎแบบโอเพนซอร์ส
- การมีส่วนร่วมในเครื่องมือที่เกี่ยวข้องกับ Bazel เช่น เครื่องมือย้ายข้อมูล
- ปรับปรุงการผสานรวม Bazel กับ IDE และเครื่องมืออื่นๆ
ก่อนทำการเปลี่ยนแปลง โปรดสร้างปัญหาใน GitHub หรือส่งอีเมลไปที่ bazel-discuss@
การมีส่วนร่วมที่มีประโยชน์มากที่สุดคือการแก้ไขข้อบกพร่องหรือเพิ่มฟีเจอร์ (ซึ่งแตกต่างจาก การเปลี่ยนแปลงด้านสไตล์ การปรับโครงสร้าง หรือการ "ล้างข้อมูล") การเปลี่ยนแปลงของคุณควร รวมถึงการทดสอบและเอกสารประกอบ โดยคำนึงถึงความเข้ากันได้แบบย้อนหลัง ความสามารถในการพกพา และผลกระทบต่อการใช้หน่วยความจำและประสิทธิภาพ
ดูวิธีส่งการเปลี่ยนแปลงได้ที่กระบวนการยอมรับแพตช์
คำอธิบายโค้ดของ Bazel
Bazel มีฐานของโค้ดขนาดใหญ่ที่มีโค้ดอยู่ในหลายตำแหน่ง ดูรายละเอียดเพิ่มเติมได้จากคู่มือฐานของโค้ด
Bazel มีการจัดระเบียบดังนี้
- โค้ดไคลเอ็นต์อยู่ใน
src/main/cpp
และมีอินเทอร์เฟซบรรทัดคำสั่ง - บัฟเฟอร์โปรโตคอลอยู่ใน
src/main/protobuf
- โค้ดฝั่งเซิร์ฟเวอร์อยู่ใน
src/main/java
และsrc/test/java
- โค้ดหลักซึ่งส่วนใหญ่ประกอบด้วย SkyFrame และยูทิลิตีบางอย่าง
- กฎที่มีอยู่แล้วจะอยู่ใน
com.google.devtools.build.lib.rules
และในcom.google.devtools.build.lib.bazel.rules
คุณอาจต้องอ่านเกี่ยวกับความท้าทายในการเขียนกฎก่อน
- อินเทอร์เฟซเนทีฟของ Java อยู่ใน
src/main/native
- เครื่องมือต่างๆ สำหรับการรองรับภาษาจะอธิบายไว้ในรายการในส่วนการคอมไพล์ Bazel
การค้นหาซอร์สโค้ดของ Bazel
หากต้องการค้นหาซอร์สโค้ดของ Bazel อย่างรวดเร็ว ให้ใช้การค้นหาโค้ดของ Bazel คุณไปยังส่วนต่างๆ ของที่เก็บ สาขา และไฟล์ของ Bazel ได้ นอกจากนี้ คุณยังดูประวัติ ความแตกต่าง และข้อมูล การระบุผู้เขียนได้ด้วย ดูข้อมูลเพิ่มเติมได้ในคู่มือผู้ใช้ Bazel Code Search