A Bazel 1.0 összeszerelő rendszer kiadása

Által benyújtott nyitott összeszerelő szerszámok felszabadítása Bazel 1.0, amelyet a Google mérnökei fejlesztettek ki, és a vállalat legtöbb belső projektjének összeállítására szolgált. Az 1.0-s kiadás jelentette az átállást a kiadások szemantikai verziószámának használatára, és arról is figyelemreméltó, hogy nagyszámú olyan változtatást vezetett be, amelyek megsértették a visszamenőleges kompatibilitást. Projekt kód forgalmazza Apache 2.0 licenc alatt.

A Bazel a szükséges fordítók és tesztek futtatásával építi fel a projektet. A build rendszert az alapoktól kezdve úgy tervezték, hogy optimálisan építsék fel a Google projekteket, beleértve a nagyon nagy projekteket és a több programozási nyelv kódját tartalmazó projekteket, amelyek kiterjedt tesztelést igényelnek, és több platformra készültek. Támogatja a kódok készítését és tesztelését Java, C++, Objective-C, Python, Rust, Go és sok más nyelven, valamint mobilalkalmazások készítését Androidra és iOS-re. A különböző platformokhoz és architektúrákhoz egyetlen összeállítási fájlok használata támogatott; például egy összeállítási fájl változtatás nélkül használható szerverrendszerhez és mobileszközhöz egyaránt.

A Bazel megkülönböztető jellemzői közé tartozik az összeszerelési folyamat nagy sebessége, megbízhatósága és megismételhetősége. A nagy felépítési sebesség elérése érdekében a Bazel aktívan gyorsítótárazási és párhuzamosítási technikákat használ az összeállítási folyamathoz. A BUILD fájloknak teljes mértékben meg kell határozniuk az összes függőséget, amelyek alapján döntéseket hoznak a változtatások utáni komponensek újraépítéséről (csak a megváltozott fájlok épülnek újra), és párhuzamosítják az összeállítási folyamatot. A szerszámozás biztosítja az ismételhető összeszerelést is, pl. a fejlesztő gépén egy projekt felépítésének eredménye teljesen megegyezik a harmadik féltől származó rendszerekre, például a folyamatos integrációs szerverekre történő építéssel.

A Make-től és a Nindzsától eltérően a Bazel magasabb szintű megközelítést alkalmaz az összeállítási szabályok felépítéséhez, amelyben ahelyett, hogy meghatározná a parancsok összerendelését az épülő fájlokhoz, absztraktabb, kész blokkokat használnak, mint például a „futtatható fájl létrehozása C++”, „könyvtár létrehozása C++ nyelven” vagy „teszt futtatása C++ nyelven”, valamint a cél- és építési platformok azonosítása. A BUILD szövegfájlban a projektösszetevők egy csomó könyvtárként, végrehajtható fájlként és tesztként vannak leírva, anélkül, hogy az egyes fájlok és a fordítóhívási parancsok szintjén részleteznénk. A kiegészítő funkciókat a bővítmények csatlakoztatásának mechanizmusa hajtja végre.

Forrás: opennet.ru

Hozzászólás