Bazel custruisce u prugettu eseguendu i compilatori è e teste necessarii. U sistema di custruzzione hè cuncepitu da a terra per custruisce in modu ottimale prughjetti di Google, cumprese prughjetti assai grandi è prughjetti chì cuntenenu codice in parechje lingue di prugrammazione, necessitanu teste estensive, è sò custruiti per parechje piattaforme. Supporta a creazione è a prova di codice in Java, C++, Objective-C, Python, Rust, Go è parechje altre lingue, è ancu di custruisce applicazioni mobili per Android è iOS. L'usu di schedarii d'assemblea unichi per e diverse piattaforme è architetture hè supportatu per esempiu, un schedariu di assemblea senza cambiamenti pò esse usatu sia per un sistema di servitore sia per un dispositivu mobile.
Trà e caratteristiche distintive di Bazel sò l'alta veloce, affidabilità è ripetibilità di u prucessu di assemblea. Per ottene una alta velocità di creazione, Bazel usa attivamente tecniche di caching è parallelizazione per u prucessu di creazione. I schedari BUILD deve definisce cumplettamente tutte e dipendenze, nantu à a basa di quali decisioni sò prese per ricustruisce i cumpunenti dopu chì i cambiamenti sò fatti (solu i schedarii cambiati sò ricustruiti) è parallelizà u prucessu di assemblea. L'attrezzatura assicura ancu l'assemblea ripetibile, i.e. u risultatu di custruisce un prughjettu nantu à a macchina di u sviluppatore serà cumplettamente identica à a custruzzione nantu à i sistemi di terzu, cum'è i servitori di integrazione cuntinuu.
A cuntrariu di Make è Ninja, Bazel usa un accostu di livellu più altu per custruisce e regule di assemblea, in quale, invece di definisce u ligame di cumandamenti à i schedari chì sò custruiti, sò usati blocchi più astratti pronti, cum'è "custruì un schedariu eseguibile in C++", "custruì una biblioteca in C++" o "eseguisce una prova per C++", è ancu identificà e piattaforme di destinazione è custruisce. In u schedariu di testu BUILD, i cumpunenti di u prughjettu sò descritti cum'è una mansa di biblioteche, schedarii eseguibili è testi, senza dettagliu à u livellu di i schedarii individuali è i cumandamenti di u compilatore. Funzionalità supplementu hè implementata per mezu di u mecanismu di cunnessione estensioni.
Source: opennet.ru