Gumagawa ang Google ng build system
Ang mga file ng Soong build ay hindi sumusuporta sa mga conditional statement at branching expression, ngunit inilalarawan lamang ang istraktura ng proyekto, mga module at dependencies na ginagamit kapag bumubuo. Ang mga file na gagawin ay inilarawan gamit ang mga maskara at pinagsama-sama sa mga pakete, na ang bawat isa ay isang koleksyon ng mga file na may nauugnay na mga dependency. Posibleng tukuyin ang mga variable. Ang mga variable at property ay mahigpit na tina-type (ang uri ng mga variable ay dynamic na pinili sa unang pagtatalaga, at para sa mga property na statically depende sa uri ng module). Ang mga kumplikadong elemento ng lohika ng pagpupulong ay inilipat sa mga humahawak,
Nakipag-ugnay si Soong sa isang mas malaking proyekto
Ang diskarte na ito ay nagbibigay-daan para sa malalaki at magkakaibang mga proyekto, tulad ng Android, na magpatupad ng mga kumplikadong elemento ng assembly logic sa code sa isang mataas na antas ng programming language, habang pinapanatili ang kakayahang gumawa ng mga pagbabago sa mga module na nauugnay sa organisasyon ng pagpupulong at istraktura ng proyekto gamit ang simpleng declarative syntax. . Halimbawa, sa Soong, ang pagpili ng mga flag ng compiler ay ginagawa ng handler
cc_library {
...
srcs: ["generic.cpp"],
arko: {
braso: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}
Pinagmulan: opennet.ru