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

Kompania Google po zhvillon një sistem ndërtimi Soong, i cili ka për qëllim të zëvendësojë skenarët e vjetër të ndërtimit të platformës Android, të bazuar në përdorimin e utilitarit make. Soong ofron përdorimin e deklaratave të thjeshta përshkrimesh të rregullave të ndërtimit të moduleve, të caktuara në skedaret me zgjedhje " .bp " (blueprints). Formati i skedarëve është i ngjashëm me JSON dhe, sa e mundur, përsërit 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.

Skedaret e ndĂ«rtimit Soong nuk mbĂ«shtesin operatorĂ« dhe shprehje kushtore pĂ«r deklasifikim, por thjesht pĂ«rshkruajnĂ« strukturĂ«n e projektit, modulĂ«t e aplikuar gjatĂ« ndĂ«rtimit dhe varĂ«sitĂ«. Skedaret pĂ«r ndĂ«rtim pĂ«rshkruhen pĂ«rmes maskave dhe grupohen nĂ« paketa, secili prej tĂ« cilave pĂ«rfaqĂ«son njĂ« koleksion skedarĂ«sh me tĂ« dhĂ«na tĂ« lidhura me varĂ«sitĂ« pĂ«rkatĂ«se. ËshtĂ« e mundur tĂ« pĂ«rcaktohen variabla. Variablat dhe pronat janĂ« tĂ« tipizuara strikte (tipi i variablave zgjidhet dinamik gjatĂ« caktimit tĂ« parĂ«, ndĂ«rsa pĂ«r pronat statikisht nĂ« varĂ«si tĂ« tipit tĂ« modulit). Elementet e komplikuara tĂ« logjikĂ«s sĂ« ndĂ«rtimit janĂ« shpĂ«rndarĂ« nĂ« trajtues, tĂ« shkruar nĂ« gjuhĂ«n Go.

Soong ndërthur me një projekt më të gjerë Blueprint, në kuadër të të cilit po zhvillohet një meta-sistem ndërtimi që nuk është i lidhur me Android, i cili, në bazë të skedarëve me përshkrime deklarative të moduleve, formon skenarët e ndërtimit Ninja (zëvendësimi i make), i cili përshkruan komandat që duhet të ekzekutohen për ndërtimin dhe varësitë. Në vend të përdorimit të rregullave të komplikuara ose një gjuhe të orientuar për subjekt për të përcaktuar logjikën e ndërtimit, në Blueprint përdoren trajtues specifik për projektet që po ndërtohen në gjuhën Go (Soong është në thelb një grup i tillë trajtuesish për Android).

Ky qasje lejon që për projekte të mëdha dhe të larmishme, si Android, të realizohen elemente të komplikuara të logjikës së ndërtimit në kodin e një gjuhe të programimit të nivelit të lartë, duke ruajtur mundësinë që, përmes një sintakse deklarative të thjeshtë, të bëhen ndryshime në module që lidhen me organizimin e ndërtimit dhe strukturën e projektit. Për shembull, në Soong, zgjedhja e flamujve të kompajlerit bëhet nga trajtuesi llvm.go, ndërsa aplikimi i konfigurimeve specifike për arkitekturat harduerike bëhet nga trajtuesi art.go, por lidhja e skedarëve me kodin bëhet në skedarin " .bp ".

cc_library {


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

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster