Ke kūkulu nei ʻo Google i kahi ʻōnaehana hui modular Soong no Android

Ke kūkulu nei ʻo Google i kahi ʻōnaehana kūkulu Soong, i hoʻolālā ʻia e hoʻololi i nā palapala kūkulu kahiko no ka platform Android, ma muli o ka hoʻohana ʻana i ka pono hana. Manaʻo ʻo Soong e hoʻohana i ka ʻōlelo hoʻolaha maʻalahi ho'ākāka nā lula no ka hui ʻana i nā modules, haawiia i loko o nā waihona me ka hoʻonui ".bp" (blueprints). Kokoke ka waihona waihona iā JSON a, inā hiki, e hana hou i ka syntax a me nā semantics o nā faila hui ʻO Bazel. Ua kākau ʻia ke code ma Go a māhele ʻia ma lalo o ka laikini Apache 2.0.

ʻAʻole kākoʻo nā faila Soong build i nā ʻōlelo kūlana a me nā ʻōlelo lālā, akā wehewehe wale i ke ʻano o ka papahana, nā modula a me nā hilinaʻi i hoʻohana ʻia i ke kūkulu ʻana. Hōʻike ʻia nā faila e kūkulu ʻia me ka hoʻohana ʻana i nā masks a hui pū ʻia i loko o nā pūʻolo, kēlā me kēia mea he hōʻiliʻili o nā faila me nā hilinaʻi pili. Hiki ke wehewehe i nā mea hoʻololi. Hoʻopaʻa paʻa ʻia nā mea hoʻololi a me nā waiwai (koho ʻia ke ʻano o nā mea hoʻololi i ka hana mua, a no nā waiwai e pili ana i ke ʻano o ka module). Hoʻoneʻe ʻia nā mea paʻakikī o ka loiloi hui i nā mea lawelawe, kākau ʻia ma ka ʻōlelo Go.

Hoʻopili ʻo Soong me kahi papahana nui aʻe ʻO ke kiʻi, i loko o kahi ʻōnaehana meta-assembly ʻaʻole i hoʻopaʻa ʻia i ka Android e hoʻomohala ʻia, ka mea, e pili ana i nā faila me nā wehewehe module declarative, e hoʻopuka i nā palapala hōʻuluʻulu. Ninja (kahi pani no ka hana), e wehewehe ana i na kauoha e pono e holo no ke kukulu ana a me na mea hilinai. Ma kahi o ka hoʻohana ʻana i nā lula paʻakikī a i ʻole ka ʻōlelo kikoʻī domain e wehewehe i ka loina kūkulu, hoʻohana ʻo Blueprint i nā mea hoʻohana kikoʻī o ka papahana ma ka ʻōlelo Go (ʻo Soong kahi pūʻulu o nā mea lawelawe like no ka Android).

ʻO kēia ala e hiki ai i nā papahana nui a heterogeneous, e like me Android, e hoʻokō i nā mea paʻakikī o ka logic hui i ke code ma kahi ʻōlelo papahana kiʻekiʻe, ʻoiai e mālama ana i ka hiki ke hoʻololi i nā modula e pili ana i ka hui hui a me ka hoʻolālā papahana me ka hoʻohana ʻana i ka syntax declarative maʻalahi. . No ka laʻana, ma Soong, ua hana ʻia ke koho ʻana i nā hae hōʻuluʻulu e ka mea lawelawe llvm.go, a me ka hoʻohana ʻana i nā hoʻonohonoho kikoʻī i nā hale hana ʻenehana e lawe ʻia e ka mea lawelawe art.go, akā, ua hoʻokō ʻia ka hoʻopili ʻana i nā faila code ma ka faila ".bp".

cc_library {
...
srcs: ["generic.cpp"],
pio: {
lima: {
srcs: ["arm.cpp"],
},
x86:{
srcs: ["x86.cpp"],
},
},
}

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka