Google กำลังพัฒนาระบบบิลด์
ไฟล์ Soong build ไม่รองรับคำสั่งแบบมีเงื่อนไขและนิพจน์การแตกแขนง แต่จะอธิบายเฉพาะโครงสร้างโปรเจ็กต์ โมดูล และการขึ้นต่อกันที่ใช้เมื่อสร้างเท่านั้น ไฟล์ที่จะสร้างขึ้นได้รับการอธิบายโดยใช้มาสก์และจัดกลุ่มเป็นแพ็คเกจ ซึ่งแต่ละไฟล์เป็นคอลเลกชันของไฟล์ที่มีการขึ้นต่อกันที่เกี่ยวข้อง สามารถกำหนดตัวแปรได้ มีการพิมพ์ตัวแปรและคุณสมบัติอย่างเคร่งครัด (ประเภทของตัวแปรจะถูกเลือกแบบไดนามิกในการกำหนดครั้งแรก และสำหรับคุณสมบัติแบบคงที่ขึ้นอยู่กับประเภทของโมดูล) องค์ประกอบที่ซับซ้อนของตรรกะแอสเซมบลีถูกย้ายไปยังตัวจัดการ
ซองต้องสานสัมพันธ์กับโปรเจ็กต์ที่ใหญ่กว่า
แนวทางนี้ช่วยให้โครงการขนาดใหญ่และต่างกัน เช่น Android สามารถใช้องค์ประกอบที่ซับซ้อนของตรรกะแอสเซมบลีในโค้ดในภาษาการเขียนโปรแกรมระดับสูง ขณะเดียวกันก็รักษาความสามารถในการเปลี่ยนแปลงโมดูลที่เกี่ยวข้องกับองค์กรแอสเซมบลีและโครงสร้างโครงการโดยใช้ไวยากรณ์การประกาศอย่างง่าย . ตัวอย่างเช่น ใน Soong การเลือกแฟล็กคอมไพเลอร์จะกระทำโดยตัวจัดการ
cc_library {
...
srcs: ["generic.cpp"],
ซุ้มประตู: {
แขน: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}
ที่มา: opennet.ru