I-Google yenza isistimu yokuhlanganisa eyi-modular i-Soong ye-Android

I-Google ithuthukisa isistimu yokwakha Maduze, edizayinelwe ukumiselela izikripthi zokwakha ezindala zenkundla ye-Android, ngokusekelwe ekusetshenzisweni kwe-make utility. USong uphakamisa ukusebenzisa isimemezelo esilula izincazelo imithetho yokuhlanganisa amamojula, inikezwe kumafayela anesandiso esithi “.bp” (amapulani). Ifomethi yefayela iseduze ne-JSON futhi, uma kungenzeka, iphinda i-syntax ne-semantics yamafayela omhlangano Bazel. Ikhodi ibhalwe ku-Go futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0.

Amafayela e-Soong build awasekeli izitatimende ezinemibandela kanye nezinkulumo zegatsha, kodwa achaza kuphela isakhiwo sephrojekthi, amamojula nokuncika okusetshenziswa lapho kwakhiwa. Amafayela azokwakhiwa achazwa kusetshenziswa imaski futhi ahlanganiswe abe amaphakheji, ngalinye eliyiqoqo lamafayela anokwencika okuhlobene. Kungenzeka ukuchaza okuguquguqukayo. Okuguquguqukayo nezakhiwo kuthayiphe ngokuqinile (uhlobo lokuguquguquka lukhethwa ngokuguquguqukayo lapho kwenziwa isabelo sokuqala, kanye nezakhiwo ngokwezibalo kuye ngohlobo lwemojuli). Izinto eziyinkimbinkimbi ze-logic yomhlangano zihanjiswa kubaphathi, kubhaliwe ngolimi lwe-Go.

Ngokushesha kuhlangana nephrojekthi enkulu I-Blueprint, lapho kuthuthukiswa khona isistimu ye-meta-assembly engaboshelwe ku-Android, okuthi, ngokusekelwe kumafayela anezincazelo zemojuli esimemezelayo, ikhiqize imibhalo yokuhlanganisa. Ninja (okumiselela ukwenza), echaza imiyalo okudingeka isetshenziswe ukuze kwakhiwe kanye nokuncika. Esikhundleni sokusebenzisa imithetho eyinkimbinkimbi noma ulimi oluqondene nesizinda ukuze kuchazwe indlela yokucabanga yokwakha, i-Blueprint isebenzisa izibambi eziqondene nephrojekthi ngolimi lwe-Go (I-Soong empeleni iyisethi yezibambi ezifanayo ze-Android).

Le ndlela ivumela amaphrojekthi amakhulu futhi ahlukahlukene, njenge-Android, ukusebenzisa izici eziyinkimbinkimbi ze-logic yomhlangano ngekhodi ngolimi lokuhlela olusezingeni eliphezulu, kuyilapho igcina ikhono lokwenza izinguquko kumamojula ahlobene nenhlangano yomhlangano kanye nesakhiwo sephrojekthi kusetshenziswa i-syntax elula yokumemezela. . Isibonelo, ku-Soong, ukukhethwa kwamafulegi okuhlanganisa kwenziwa isibambi llvm.go, kanye nokusetshenziswa kwezilungiselelo eziqondene nezakhiwo zehadiwe kwenziwa isibambi art.hamba, kodwa ukuxhumanisa kwamafayela ekhodi kwenziwa kufayela elithi “.bp”.

cc_library {
...
srcs: ["generic.cpp"],
ikhothamo: {
ingalo: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}

Source: opennet.ru

Engeza amazwana