Vrystelling van die Bazel 1.0-boustelsel

Bekendgestel vrystelling van oop monteergereedskap Bazel 1.0, ontwikkel deur ingenieurs van Google en gebruik om die meeste van die maatskappy se interne projekte saam te stel. Vrystelling 1.0 het die oorgang na semantiese vrystellingweergawe gemerk en was ook opvallend vir die bekendstelling van 'n groot aantal veranderinge wat terugwaartse versoenbaarheid verbreek het. Projek kode versprei deur gelisensieer onder Apache 2.0.

Bazel bou die projek deur die nodige samestellers en toetse uit te voer. Die boustelsel is van die grond af ontwerp om Google-projekte optimaal te bou, insluitend baie groot projekte en projekte wat kode in veelvuldige programmeertale bevat, uitgebreide toetsing vereis en vir veelvuldige platforms gebou is. Dit ondersteun die bou en toets van kode in Java, C++, Objective-C, Python, Rust, Go en baie ander tale, sowel as die bou van mobiele toepassings vir Android en iOS. Die gebruik van enkelsamestellinglêers vir verskillende platforms en argitekture word ondersteun; byvoorbeeld, een samestellinglêer sonder veranderinge kan vir beide 'n bedienerstelsel en 'n mobiele toestel gebruik word.

Onder die kenmerkende kenmerke van Bazel is die hoë spoed, betroubaarheid en herhaalbaarheid van die monteerproses. Om hoë bouspoed te bereik, gebruik Bazel aktief kas- en paralleliseringstegnieke vir die bouproses. BUILD-lêers moet alle afhanklikhede volledig definieer, op grond waarvan besluite geneem word om komponente te herbou nadat veranderinge gemaak is (slegs veranderde lêers word herbou) en die samestellingsproses paralleliseer. Gereedskap verseker ook herhaalbare samestelling, d.w.s. die resultaat van die bou van 'n projek op die ontwikkelaar se masjien sal heeltemal identies wees aan die bou op derdepartystelsels, soos deurlopende integrasiebedieners.

Anders as Make en Ninja, gebruik Bazel 'n hoërvlakbenadering om samestellingreëls te bou, waarin, in plaas daarvan om die binding van opdragte aan die lêers wat gebou word te definieer, meer abstrakte klaargemaakte blokke gebruik word, soos "om 'n uitvoerbare lêer te bou in C++", "bou 'n biblioteek in C++" of "hardloop 'n toets vir C++", sowel as die identifisering van teiken- en bouplatforms. In die BUILD-tekslêer word die projekkomponente beskryf as 'n klomp biblioteke, uitvoerbare lêers en toetse, sonder besonderhede op die vlak van individuele lêers en samesteller-oproepopdragte. Bykomende funksionaliteit word geïmplementeer deur die meganisme vir die koppeling van uitbreidings.

Bron: opennet.ru

Voeg 'n opmerking