Google zhvillon sistemin modular të ndërtimit Soong për Android

Kompania Google po zhvillon një sistem ndërtimi Soong, i cili ka si qëllim të zëvendësojë skenarët e vjetër të ndërtimit të platformës Android, të bazuar në përdorimin e utilit të make. Soong ofron përdorimin e përshkrimeve deklarative të thjeshta përshkrime të rregullave të ndërtimit të moduleve, të caktuara në skedarët me zgjerimin «.bp» (blueprints). Formati i skedarëve është i ngjashëm me JSON dhe përpiqet të përsërisë sintaksën dhe semantikën e skedarëve të ndërtimit Bazel. Kodi është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.

SkedarĂ«t e ndĂ«rtimit Soong nuk mbĂ«shtesin operatorĂ« dhe shprehje kushtore pĂ«r ndarje, por pĂ«rshkruajnĂ« vetĂ«m strukturĂ«n e projektit, modulĂ«t dhe varĂ«sitĂ« qĂ« pĂ«rdoren gjatĂ« ndĂ«rtimit. SkedarĂ«t qĂ« duhet tĂ« ndĂ«rtohen pĂ«rshkruhen me mjete dhe grupohen nĂ« paketa, çdo njĂ«ri prej tĂ« cilave pĂ«rfaqĂ«son njĂ« koleksion skedarĂ«sh me tregimin e varĂ«sive tĂ« lidhura me to. ËshtĂ« e mundur tĂ« pĂ«rcaktohen variablat. Variablat dhe pronat janĂ« tĂ« tipizuara nĂ« mĂ«nyrĂ« strikte (tipi i variablave zgjidhet dinamik gjatĂ« caktimit tĂ« parĂ«, ndĂ«rsa pĂ«r pronat ndryshe statikisht, nĂ« varĂ«si tĂ« tipit tĂ« modulit). Elementet komplekse tĂ« logjikĂ«s sĂ« ndĂ«rtimit janĂ« tĂ« shkĂ«putura nĂ« trajtuesit, tĂ« shkruara nĂ« gjuhĂ«n Go.

Soong ndërthuret me një projekt më të përgjithshëm Blueprint, në kuadrin e të cilit zhvillohet një meta-sistem ndërtimi i pa lidhur me Android, i cili, bazuar në skedarët me përshkrime deklarative të moduleve, formon skenarë ndërtimi Ninja (zëvendësimi i make), që përshkruan komandat që duhet të ekzekutohen për ndërtim dhe varësitë. Në vend të përdorimit të rregullave komplekse ose të një gjuhe të orientuar drejt objektit për të përcaktuar logjikën e ndërtimit, në Blueprint përdoren trajtesa specifike për projektet që po ndërtohen në gjuhën Go (Soong është në thelb një grup i tillë trajtesash për Android).

Kjo qasje lejon që për projekte të mëdha dhe të ndryshme, si Android, të realizohen elemente komplekse të logjikës së ndërtimit në kodin e një gjuhe programimi në nivel të lartë, duke ruajtur përveç kësaj mundësinë përmes një sintaksë deklarative të thjeshtë për të bërë ndryshime në modulet që lidhen me organizimin e ndërtimit dhe strukturën e projektit. Për shembull, në Soong zgjedhja e flagjeve të kompilimit bëhet nga trajtesa llvm.go, dhe aplikimi i konfigurimeve specifike për arkitekturën e harduerit bëhet nga trajtesa art.go, por lidhjen e skedave me kodin bëhet në skedën «.bp».

cc_library {


srcs: [«generic.cpp»],
arch: {
arm: {
srcs: [«arm.cpp»],
},
x86: {
srcs: [«x86.cpp»],
},
},
}

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster