Pagpagawas sa Bazel 1.0 build system

Gipasa ni pagpagawas sa bukas nga mga himan sa asembliya Bazel 1.0, gihimo sa mga inhenyero gikan sa Google ug gigamit sa pag-assemble sa kadaghanan sa mga internal nga proyekto sa kompanya. Ang Release 1.0 nagtimaan sa transisyon ngadto sa semantic release versioning ug bantogan usab sa pagpaila sa daghang mga kausaban nga nakaguba sa backward compatibility. Kodigo sa proyekto giapod-apod sa lisensyado ubos sa Apache 2.0.

Gitukod ni Bazel ang proyekto pinaagi sa pagpadagan sa gikinahanglan nga mga compiler ug mga pagsulay. Ang sistema sa pagtukod gidesinyo gikan sa sinugdanan aron maayo ang paghimo sa mga proyekto sa Google, lakip ang mga dagko kaayo nga proyekto ug proyekto nga adunay code sa daghang mga programming language, nanginahanglan daghang pagsulay, ug gihimo alang sa daghang mga platform. Gisuportahan niini ang pagtukod ug pagsulay nga code sa Java, C ++, Objective-C, Python, Rust, Go ug daghang uban pang mga lengguwahe, ingon man ang paghimo og mga mobile application alang sa Android ug iOS. Gisuportahan ang paggamit sa usa ka file sa asembliya alang sa lainlaing mga plataporma ug arkitektura; pananglitan, usa ka file sa asembliya nga wala’y mga pagbag-o mahimong magamit alang sa usa ka sistema sa server ug usa ka mobile device.

Lakip sa mga lahi nga bahin sa Bazel mao ang taas nga tulin, kasaligan ug kabalik-balik sa proseso sa asembliya. Aron makab-ot ang taas nga tulin sa pagtukod, si Bazel aktibong naggamit sa mga teknik sa caching ug parallelization alang sa proseso sa pagtukod. Ang mga file sa BUILD kinahanglan nga hingpit nga maghubit sa tanan nga mga dependency, pinasukad sa kung unsang mga desisyon ang gihimo aron matukod pag-usab ang mga sangkap pagkahuman nahimo ang mga pagbag-o (gibag-o ra nga mga file ang gitukod pag-usab) ug iparehas ang proseso sa asembliya. Ang tooling usab nagsiguro sa repeatable assembly, i.e. ang resulta sa pagtukod og proyekto sa makina sa developer mahimong hingpit nga susama sa pagtukod sa mga sistema sa ikatulo nga partido, sama sa padayon nga integration server.

Dili sama sa Make ug Ninja, si Bazel naggamit sa usa ka mas taas nga lebel nga pamaagi sa pagtukod sa mga lagda sa asembliya, diin, imbes nga ipasabut ang pagbugkos sa mga sugo sa mga file nga gitukod, mas abstract nga andam nga mga bloke ang gigamit, sama sa "pagtukod og usa ka executable file sa C++", "pagtukod ug librarya sa C++" o "pagpadagan ug pagsulay para sa C++", ingon man pag-ila sa target ug pagtukod og mga plataporma. Sa BUILD text file, ang mga sangkap sa proyekto gihulagway nga usa ka hugpong sa mga librarya, mga executable nga mga file ug mga pagsulay, nga walay pagdetalye sa lebel sa indibidwal nga mga file ug mga compiler call commands. Ang dugang nga pag-andar gipatuman pinaagi sa mekanismo sa pagkonektar sa mga extension.

Source: opennet.ru

Idugang sa usa ka comment