ntọhapụ nke ngwaọrụ mgbakọ na-emeghe , nke ndị injinia Google mepụtara ma jiri ya rụọ ọtụtụ ọrụ ime ụlọ nke ụlọ ọrụ ahụ. Bazel na-ahụ maka owuwu ọrụ, na-agba ọsọ ihe nhazi na ule dị mkpa. Ọ na-akwado iwuli na nnwale koodu na Java, C++, Objective-C, Python, Rust, Go, na ọtụtụ asụsụ ndị ọzọ, yana iwuli ngwa mkpanaka maka Android na iOS. Koodu ọrụ nyere ikike n'okpuru Apache 2.0.
Mgbanwe ụdịdị dị ịrịba ama gụnyere mgbakwunye nke mgbanwe na-emebi ndakọrịta azụ. Malite na Bazel 2.0, a na-akwado ụdịdị ndị a site na ndabara: "-incompatible_remap_main_repo" (njikọ aha na site na @ ugbu a jikọtara ya na otu ebe nchekwa), "-incompatible_disallow_dict_lookup"_(iji igodo enweghị ike),
"--incompatible_remove_native_maven_jar" na "--incompatible_prohibit_aapt1". Mgbanwe ndị ọzọ gụnyere:
- N'ime otu nkwado nnwale apụtala maka mbipụta ọhụrụ nke usoro mmepụta “proto” (-output=proto), bụ nke a na-enwe nkwarụ ugbu a site na ndabara (-incompatible_proto_output_v2) ma na-enye ngosipụta data karịa;
- Agbakwunyere ọkọlọtọ "--incompatible_remove_enabled_toolchain_types" iji wepụ ubi PlatformConfiguration.enabled_toolchain_types;
- Nchekwa agbakwunyere megide ngwugwu nbudata nke na-eji njikọ ihe atụ cyclic mgbe ị na-ebu ụzọ mgbe ị na-agbasawanye ha;
- Tinyere ikike iji ọkọlọtọ "--disk_cache" nwere cache gRPC dị na mpụga;
- Na ngwugwu maka Debian na onye nrụnye abụọ ahụ gụnyere oyi akwa emelitere nke na-ejikwa faịlụ ~/.bazelversion na mgbanwe gburugburu $USE_BAZEL_VERSION;
- Na nkwado maka mkpochapụ faịlụ ngosipụta runfiles, agbakwunyela ọkọlọtọ "--experimental_skip_runfiles_manifests".
N'ime ihe dị iche iche nke Bazel bụ nnukwu ọsọ ọsọ, ntụkwasị obi na nkwughachi nke usoro mgbakọ ahụ. Iji nweta ọsọ na-ewu ụlọ dị elu, Bazel na-arụsi ọrụ ike na usoro caching na myirịta maka usoro iwu ụlọ. Faịlụ BUILD ga-akọwapụta nke ọma dabere niile, dabere na mkpebi a na-eme iji wughachi akụrụngwa mgbe emechara mgbanwe (naanị faịlụ gbanwere ka a na-ewughachi) wee megharịa usoro mgbakọ ahụ. Ngwá ọrụ na-eme ka mgbakọ a na-emegharị ugboro ugboro, i.e. nsonaazụ nke ịrụ ọrụ na igwe onye nrụpụta ga-adị kpamkpam na iwulite na sistemụ ndị ọzọ, dị ka sava ntinye aka na-aga n'ihu.
N'adịghị ka Make na Ninja, Bazel na-eji ụzọ dị elu dị elu iji wuo iwu mgbakọ, nke, kama ịkọwapụta njide nke iwu na faịlụ ndị a na-ewu, a na-eji ihe mgbochi ndị a na-emepụta ihe na-emepụta ihe, dị ka "ịmepụta faịlụ nwere ike ime na ya. C++”, “wulite ọba akwụkwọ na C++” ma ọ bụ “na-eme ule maka C++”, yana ịchọpụta ebumnuche na iwulite nyiwe. Na faịlụ ederede BUILD, a na-akọwa akụkụ ọrụ ahụ dị ka ụyọkọ nke ọba akwụkwọ, faịlụ na ule na-arụ ọrụ, na-enweghị nkọwa na ọkwa nke faịlụ n'otu n'otu na iwu ịkpọ oku. A na-arụ ọrụ ndị ọzọ site na usoro maka ijikọ ndọtị.
A na-akwado iji otu faịlụ mgbakọ maka nyiwe dị iche iche na ụlọ ọrụ dịka ọmụmaatụ, otu faịlụ mgbakọ na-enweghị mgbanwe nwere ike iji ma usoro ihe nkesa na ngwaọrụ mkpanaka. Emebere usoro ihe owuwu ahụ site na ala ruo n'ụzọ kacha mma iji wuo ọrụ Google, gụnyere nnukwu ọrụ na ọrụ nwere koodu n'ọtụtụ asụsụ mmemme, chọrọ nnwale dị ukwuu, ma wuo ya maka ọtụtụ nyiwe.
isi: opennet.ru
