██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
อังกฤษ | 简体中文
ระบบการสร้างที่ใช้งานง่าย รวดเร็ว และทันสมัยสำหรับการพัฒนาแบบ Trunk ในฐานโค้ด Monorepo ขนาดใหญ่
ก่อนอื่น เรามาดูการสาธิตเจ๋งๆ กันก่อน:
รหัสในสาขาหลักเป็นเวอร์ชันการพัฒนาและควรถือเป็นเวอร์ชันอัลฟ่า โปรดเลือกใช้เวอร์ชันบนแท็กในสภาพแวดล้อมที่เป็นทางการของคุณ เราจะเผยแพร่เวอร์ชันที่ยืนยันแล้วบนฐานโค้ดภายในขนาดใหญ่ให้กับแท็กเป็นครั้งคราว
เวอร์ชัน 2.0 อยู่ในรุ่นผู้สมัคร! ประกอบด้วยการเปลี่ยนแปลงที่โดดเด่นดังต่อไปนี้:
โปรดปฏิบัติตามหมายเหตุการอัปเกรดเพื่ออัปเกรด
Blade ถูกออกแบบให้เป็นระบบการสร้างที่ทันสมัย มันทรงพลังและใช้งานง่าย รองรับการสร้างหลายภาษา เช่น c/c++, java, python, scala, protobuf ฯลฯ โดยวิเคราะห์การพึ่งพาเป้าหมายโดยอัตโนมัติ และรวมการคอมไพล์ การเชื่อมโยง การทดสอบ (รวมถึงการทดสอบส่วนเพิ่มและการทดสอบแบบขนาน) และการตรวจสอบโค้ดแบบคงที่เข้าด้วยกัน มีจุดมุ่งหมายเพื่อปรับปรุงความชัดเจนและความเรียบง่ายของกฎการสร้างสำหรับโครงการ
ด้วย Blade คุณสามารถคอมไพล์ เชื่อมโยง และทดสอบหลายเป้าหมายได้เพียงแค่ป้อนบรรทัดคำสั่งง่ายๆ เพียงบรรทัดเดียว ตัวอย่างเช่น:
สร้างและทดสอบเป้าหมายทั้งหมดในไดเร็กทอรีทั่วไปแบบเรียกซ้ำ
blade test common...
สร้างและทดสอบเป้าหมายเป็น 32 บิต
blade test -m32 common...
สร้างและทดสอบเป้าหมายเป็นโหมดแก้ไขข้อบกพร่อง
blade test -pdebug common...
และคุณสามารถรวมแฟล็กเข้าด้วยกัน:
blade test -m32 -pdebug common...
Blade ได้รับแรงบันดาลใจจากข้อมูลสาธารณะของ Google เกี่ยวกับระบบการสร้างของพวกเขา นี่คือบทความอ้างอิงจากบล็อกอย่างเป็นทางการของ Google: build in cloud: วิธีการทำงานของ build system
ต่อมาในปี 2558 พวกเขาเปิดตัวโดยเขียนใหม่บางส่วนเป็นระบบสร้างโอเพ่นซอร์ส bazel
เบลดสร้างสคริปต์นินจาเป็นการภายใน ดังนั้นแน่นอนว่ามันขึ้นอยู่กับนินจา
Python เป็นภาษาที่ทรงพลังและใช้งานง่าย เราชอบ Python
ห้องสมุดบางแห่งเปิดแหล่งที่มาโดย Google เช่น protobuf
ทดสอบ,
gperftools มีประโยชน์และทรงพลัง เราได้รวมไลบรารีเหล่านี้เข้าด้วยกัน