Google imapanga Soong modular Assembly system ya Android

Google ikupanga njira yomanga Posachedwa, opangidwa kuti alowe m'malo mwa zolemba zakale za nsanja ya Android, kutengera kugwiritsa ntchito make utility. Soong akuwonetsa kugwiritsa ntchito mawu osavuta mafotokozedwe malamulo osonkhanitsa ma modules, kupatsidwa m'mafayilo okhala ndi ".bp" (ndondomeko). Mafayilo ali pafupi ndi JSON ndipo, ngati n'kotheka, amabwereza mawu ndi semantics yamafayilo osonkhana Bazel. Khodiyo idalembedwa mu Go ndikugawidwa pansi pa layisensi ya Apache 2.0.

Mafayilo omanga posachedwa samathandizira mawu okhazikika ndi mawu a nthambi, koma amangofotokozera momwe polojekitiyi, ma module ndi zodalira zomwe zimagwiritsidwa ntchito pomanga. Mafayilo oti amangidwe amafotokozedwa pogwiritsa ntchito masks ndikuyika m'magulu, iliyonse yomwe ili ndi mafayilo omwe ali ndi zidalira. N'zotheka kufotokozera zosiyana. Zosinthika ndi katundu zimatayimitsidwa mosamalitsa (mtundu wa zosinthika umasankhidwa mosinthika pa ntchito yoyamba, ndi katundu mokhazikika kutengera mtundu wa gawo). Zinthu zovuta za logic ya msonkhano zimasunthidwa kwa othandizira, zolembedwa m'chinenero cha Go.

Posachedwa zimalumikizana ndi polojekiti yayikulu Chojambula, momwe meta-assembly system yosamangirizidwa ku Android ikupangidwa, yomwe, kutengera mafayilo okhala ndi mafotokozedwe amodule yofotokozera, imapanga zolemba zapagulu. Ninja (m'malo mwa make), kufotokoza malamulo omwe amayenera kuyendetsedwa kuti amange ndi zodalira. M'malo mogwiritsa ntchito malamulo ovuta kapena chilankhulo chodziwika ndi domeni kuti afotokoze malingaliro omanga, Blueprint imagwiritsa ntchito zowongolera pulojekiti mu chilankhulo cha Go (Soong kwenikweni ndi gulu la othandizira ofanana a Android).

Njirayi imalola kuti mapulojekiti akuluakulu komanso osiyanasiyana, monga Android, agwiritse ntchito zovuta zamagulu a msonkhano mu code m'chinenero chapamwamba cha mapulogalamu, ndikusunga kusintha kwa ma modules okhudzana ndi bungwe la msonkhano ndi dongosolo la polojekiti pogwiritsa ntchito syntax yosavuta yofotokozera. . Mwachitsanzo, ku Soong, kusankha mbendera zomangirira kumachitidwa ndi wothandizira llvm.go, ndi kugwiritsa ntchito zoikidwiratu za zomangamanga hardware ikuchitika ndi chogwirizira art.go, koma kulumikizana kwa ma code owona kumachitika mu fayilo ya ".bp".

cc_library {
...
srcs: ["generic.cpp"],
chipika: {
mkono: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}

Source: opennet.ru

Kuwonjezera ndemanga