Izdanje Bazel 1.0 build sistema

Poslao oslobađanje otvorenih alata za montažu Bazel 1.0, koji su razvili inženjeri iz Google-a i koji se koristio za sklapanje većine internih projekata kompanije. Izdanje 1.0 označilo je prijelaz na semantičko verzioniranje izdanja i također je bilo poznato po uvođenju velikog broja promjena koje su narušile kompatibilnost unatrag. Šifra projekta distribuira licenciran pod Apache 2.0.

Bazel gradi projekat pokretanjem potrebnih kompajlera i testova. Sistem izgradnje je dizajniran od temelja za optimalnu izgradnju Google projekata, uključujući vrlo velike projekte i projekte koji sadrže kod na više programskih jezika, zahtijevaju opsežno testiranje i izgrađeni su za više platformi. Podržava izradu i testiranje koda u Javi, C++, Objective-C, Python, Rust, Go i mnogim drugim jezicima, kao i izgradnju mobilnih aplikacija za Android i iOS. Podržana je upotreba pojedinačnih montažnih datoteka za različite platforme i arhitekture, na primjer, jedna montažna datoteka bez promjena može se koristiti i za serverski sistem i za mobilni uređaj;

Među karakterističnim karakteristikama Bazela su velika brzina, pouzdanost i ponovljivost procesa montaže. Da bi postigao veliku brzinu izgradnje, Bazel aktivno koristi tehnike keširanja i paralelizacije za proces izgradnje. BUILD fajlovi moraju u potpunosti definisati sve zavisnosti, na osnovu kojih se donose odluke o rekonstrukciji komponenti nakon izvršenih promena (samo promenjene datoteke se ponovo grade) i paralelizuju proces sklapanja. Alat također osigurava ponovljivu montažu, tj. rezultat izgradnje projekta na mašini programera biće potpuno identičan izgradnji na sistemima treće strane, kao što su serveri za kontinuiranu integraciju.

Za razliku od Make i Ninja, Bazel koristi pristup višeg nivoa građenju pravila sklapanja, u kojem se, umjesto definiranja vezivanja naredbi za datoteke koje se grade, koriste apstraktniji gotovi blokovi, kao što je „izgradnja izvršne datoteke u C++“, „izgradnja biblioteke u C++“ ili „pokretanje testa za C++“, kao i prepoznavanje ciljnih i platformi za izgradnju. U tekstualnoj datoteci BUILD, komponente projekta su opisane kao gomila biblioteka, izvršnih datoteka i testova, bez detalja na nivou pojedinačnih datoteka i komandi poziva kompajlera. Dodatna funkcionalnost je implementirana kroz mehanizam za povezivanje ekstenzija.

izvor: opennet.ru

Dodajte komentar