Izdaja gradbenega sistema Bazel 1.0

Predložil sprostitev odprtih montažnih orodij Bazel 1.0, ki so ga razvili inženirji iz Googla in se uporablja za sestavljanje večine internih projektov podjetja. Izdaja 1.0 je zaznamovala prehod na semantično različico izdaje in je bila opazna tudi po uvedbi velikega števila sprememb, ki so prekinile združljivost za nazaj. Koda projekta distributer licenciran pod Apache 2.0.

Bazel zgradi projekt z izvajanjem potrebnih prevajalnikov in testov. Gradbeni sistem je zasnovan od samega začetka za optimalno gradnjo Googlovih projektov, vključno z zelo velikimi projekti in projekti, ki vsebujejo kodo v več programskih jezikih, zahtevajo obsežno testiranje in so zgrajeni za več platform. Podpira gradnjo in testiranje kode v Javi, C++, Objective-C, Python, Rust, Go in številnih drugih jezikih ter gradnjo mobilnih aplikacij za Android in iOS. Podprta je uporaba posameznih zbirnih datotek za različne platforme in arhitekture; na primer, eno zbirno datoteko brez sprememb je mogoče uporabiti tako za strežniški sistem kot za mobilno napravo.

Med značilnostmi Bazela so visoka hitrost, zanesljivost in ponovljivost postopka montaže. Da bi dosegel visoko hitrost gradnje, Bazel aktivno uporablja tehnike predpomnjenja in paralelizacije za proces gradnje. Datoteke BUILD morajo v celoti definirati vse odvisnosti, na podlagi katerih se sprejemajo odločitve o ponovni izdelavi komponent po opravljenih spremembah (na novo se izdelajo le spremenjene datoteke) in vzporedni proces sestavljanja. Orodje zagotavlja tudi ponovljivo montažo, tj. rezultat gradnje projekta na stroju razvijalca bo popolnoma enak gradnji na sistemih tretjih oseb, kot so strežniki za neprekinjeno integracijo.

Za razliko od Make in Ninja Bazel uporablja pristop na višji ravni za gradnjo pravil sestavljanja, v katerem se namesto definiranja vezave ukazov na datoteke, ki se gradijo, uporabljajo bolj abstraktni že pripravljeni bloki, kot je »gradnja izvršljive datoteke v C++«, »izdelava knjižnice v C++« ali »izvajanje preizkusa za C++«, kot tudi prepoznavanje ciljnih in gradbenih platform. V besedilni datoteki BUILD so komponente projekta opisane kot kup knjižnic, izvedljivih datotek in testov, brez podrobnosti na ravni posameznih datotek in ukazov klica prevajalnika. Dodatne funkcionalnosti se izvajajo preko mehanizma za povezovanje razširitev.

Vir: opennet.ru

Dodaj komentar