Bazel 1.0 eraikitze sistemaren kaleratzea

Bidalita irekita muntatzeko tresnak askatzea Bazel 1.0, Google-ko ingeniariek garatua eta konpainiaren barne-proiektu gehienak muntatzeko erabilia. 1.0 bertsioak bertsio semantikorako trantsizioa markatu zuen eta atzerako bateragarritasuna hautsi zuten aldaketa ugari sartzeagatik ere nabarmena zen. Proiektuaren kodea arabera banatuta Apache 2.0 lizentziapean.

Bazel-ek proiektua eraikitzen du beharrezko konpilatzaileak eta probak exekutatuz. Eraikuntza-sistema hasieratik diseinatuta dago Google-ren proiektuak modu ezin hobean eraikitzeko, programazio-lengoaia anitzetan kodea duten proiektu eta proiektu oso handiak barne, proba zabalak behar dituztenak eta plataforma anitzeko eraikitakoak. Java, C++, Objective-C, Python, Rust, Go eta beste hainbat hizkuntzatan eraikitzeko eta probatzeko kodea onartzen du, baita Android eta iOSerako mugikorretarako aplikazioak eraikitzen ere. Plataforma eta arkitektura ezberdinetarako muntaketa-fitxategi bakarrak erabiltzea onartzen da; adibidez, aldaketarik gabeko muntaketa-fitxategi bat erabil daiteke zerbitzari-sistemarako eta gailu mugikor baterako.

Bazelen ezaugarri bereizgarrien artean muntaketa prozesuaren abiadura handia, fidagarritasuna eta errepikakortasuna daude. Eraikitze-abiadura handia lortzeko, Bazel-ek aktiboki erabiltzen ditu caching eta paralelizazio teknikak eraikitze-prozesurako. BUILD fitxategiek mendekotasun guztiak guztiz definitu behar dituzte, eta horien arabera hartzen dira aldaketak egin ondoren osagaiak berreraikitzeko (aldatutako fitxategiak soilik berreraikitzen dira) eta muntaketa prozesua paralelizatzeko. Tresneria muntaketa errepikakorra ere bermatzen du, hau da. garatzailearen makinan proiektu bat eraikitzearen emaitza hirugarrenen sistemetan eraikitakoaren guztiz berdina izango da, hala nola etengabeko integrazio zerbitzarietan.

Make eta Ninja ez bezala, Bazelek goi-mailako ikuspegia erabiltzen du muntaia-arauak eraikitzeko, eta bertan, eraikitzen ari diren fitxategiekin komandoak lotzea definitu beharrean, prest dauden bloke abstraktuagoak erabiltzen dira, adibidez, "fitxategi exekutagarri bat eraikitzea. C++”, β€œliburutegi bat C++-n eraikitzea” edo β€œC++-rako proba bat exekutatzen”, baita helburu eta eraikitze plataformak identifikatzea ere. BUILD testu-fitxategian, proiektuaren osagaiak liburutegi, fitxategi exekutagarri eta proba sorta gisa deskribatzen dira, fitxategi indibidualen eta konpiladoreen dei-aginduen mailan zehaztu gabe. Funtzionalitate gehigarriak luzapenak konektatzeko mekanismoaren bidez ezartzen dira.

Iturria: opennet.ru

Gehitu iruzkin berria