UGoogle uphuhlisa inkqubo yokuhlanganisa i-Soong yemodyuli ye-Android

UGoogle uphuhlisa inkqubo yokwakha Kungekudala, eyenzelwe ukubuyisela izikripthi zokwakha ezidala zeqonga le-Android, ngokusekelwe kusetyenziso lwe-make utility. USong ucebisa ukuba kusetyenziswe isibhengezo esilula iinkcazelo imithetho yokuhlanganisa iimodyuli, inikwe kwiifayile ezinolwandiso ".bp" (iiplani). Ifomathi yefayile ikufutshane ne-JSON kwaye, ukuba kuyenzeka, iphinda i-syntax kunye ne-semantics yeefayile zendibano bazel. Ikhowudi ibhalwe kwi-Go kwaye isasazwe phantsi kwelayisensi ye-Apache 2.0.

Iifayile zokwakha ngokukhawuleza azixhasi iinkcazo ezinemiqathango kunye neentetho ze-branching, kodwa zichaza kuphela isakhiwo seprojekthi, iimodyuli kunye nokuxhomekeka okusetyenziswe xa kwakhiwa. Iifayile eziza kwakhiwa zichazwe kusetyenziswa iimaski kwaye zihlanganiswe kwiipakethi, nganye kuzo ingqokelela yeefayile ezinokuxhomekeka okuhambelanayo. Kuyenzeka ukuchaza iinguqu. Izinto eziguquguqukayo kunye neepropati zichwethezwa ngokungqongqo (uhlobo loguqulo lukhethwa ngokutshintshatshintshayo kwisabelo sokuqala, kunye neepropati ngokwestatiki ngokuxhomekeke kudidi lwemodyuli). Izinto ezintsonkothileyo zengqiqo yendibano zisiwa kubaphathi, ibhaliwe ngolwimi lwesiGo.

Kungekudala idibana neprojekthi enkulu I-Blueprint, ngaphakathi apho inkqubo ye-meta-assembly engabotshelelwanga kwi-Android iphuhliswa, leyo, ngokusekwe kwiifayile ezineenkcazelo zemodyuli echazayo, ivelise izikripthi zendibano. Ninja (indawo yokwenza), ichaza imiyalelo ekufuneka iqhutywe ukuze kwakhiwe nezinto ezixhomekeke kuzo. Endaweni yokusebenzisa imithetho entsonkothileyo okanye ulwimi oluthe ngqo ukucacisa ingqiqo yokwakha, iBlueprint isebenzisa izibambi ezithe ngqo kwiprojekthi kulwimi lweGo (uSoong yiseti yabaphathi abafanayo be-Android).

Le ndlela ivumela iiprojekthi ezinkulu kunye ne-heterogeneous, njenge-Android, ukuphumeza izinto ezinzima ze-logic yendibano kwikhowudi kwi-high-level programming language, ngelixa ugcina amandla okwenza utshintsho kwiimodyuli ezinxulumene nombutho wendibano kunye nesakhiwo seprojekthi usebenzisa i-syntax elula yokuchaza. . Ngokomzekelo, kwi-Soong, ukukhethwa kweeflegi zokuhlanganisa kwenziwa ngumphathi llvm.hamba, kunye nokusetyenziswa kwezicwangciso ezithe ngqo kwi-architectures ye-hardware iqhutywe ngumphathi ubugcisa.hamba, kodwa ukudityaniswa kweefayile zekhowudi kuqhutyelwa kwifayile ".bp".

cc_layibrari {
...
srcs: ["generic.cpp"],
iarch: {
ingalo: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}

umthombo: opennet.ru

Yongeza izimvo