Kuburitswa kweBazel 2.0 kuvaka system

Inowanikwa kusunungurwa kwematurusi egungano akazaruka Bazel 2.0, yakagadzirwa nevainjiniya kubva kuGoogle uye yakashandiswa kuunganidza akawanda emapurojekiti emukati ekambani. Bazel anovaka purojekiti nekumhanyisa anodiwa ma compiler uye bvunzo. Inotsigira kuvaka uye yekuyedza kodhi muJava, C ++, Objective-C, Python, Rust, Go uye mimwe mitauro yakawanda, pamwe nekuvaka nharembozha yeAroid uye iOS. Project code inoparadzirwa ne ine rezinesi pasi peApache 2.0.

Shanduko yakakosha yeshanduro inosanganisira kuwedzera kweshanduko dzinotyora kuenderana. Kutanga neBazel 2.0, mamodhi anotevera anogoneswa nekusarudzika: “—incompatible_remap_main_repo” (zvinongedzo nezita uye ne @ now link kune imwechete repository), “-incompatible_disallow_dict_lookup”_(kushandiswa kwemakiyi asingabatike),
"--incompatible_remove_native_maven_jar" uye "--incompatible_prohibit_aapt1". Dzimwe shanduko dzinosanganisira:

  • Muchikwata aquery Rutsigiro rwekuyedza rwakaonekwa rwechinyorwa chitsva che "proto" yekubuda fomati (-output=proto), iyo parizvino yakavharwa nekusagadzika (-incompatible_proto_output_v2) uye inopa yakawanda compact mharidzo yedata;
  • Yakawedzera "--incompatible_remove_enabled_toolchain_types" mureza kubvisa nzvimbo yePlatformConfiguration.enabled_toolchain_types;
  • Yakawedzerwa dziviriro kubva pakurodha mapakeji anoshandisa cyclic zviratidzo zvinongedzo kana uchirodha nzira kana uchidziwedzera;
  • Yakaita kugona kushandisa "--disk_cache" mureza nekunze gRPC cache;
  • The Debian package uye binary installer inosanganisira yakagadziridzwa layer inobata ~/.bazelversion mafaira uye $USE_BAZEL_VERSION nharaunda inoshanduka;
  • Mukugadzirira kubviswa kwemafaera ekuratidza mafaera, mureza "--experimental_skip_runfiles_manifests" wawedzerwa.

Pakati peakasarudzika maficha eBazel ndeyekumhanya, kuvimbika uye kudzokorora kwemaitiro egungano. Kuti uwane kumhanya kwekuvaka kwakanyanya, Bazel anoshingairira kushandisa caching uye parallelization matekiniki emaitiro ekuvaka. BUILD mafaira anofanirwa kutsanangura zvizere zvese zvinotsamira, pahwaro hwekuti sarudzo dzinoitwa kuvakazve zvikamu mushure mekuchinja kwaitwa (mafaira akashandurwa chete anovakwa patsva) uye kuenzanisa maitiro egungano. Tooling zvakare inovimbisa kudzokorora kuungana, i.e. mhedzisiro yekuvaka purojekiti pamushini wemugadziri ichave yakanyatsofanana nekuvaka pane yechitatu-bato masisitimu, akadai seanoramba achibatanidza maseva.

Kusiyana neMake naNinja, Bazel anoshandisa nzira yepamusoro-yepamusoro pakuvaka mitemo yegungano, umo, pachinzvimbo chekutsanangura kusungirirwa kwemirairo kune mafaera ari kuvakwa, mamwe abstract akagadzirira-akagadzirwa zvivharo anoshandiswa, senge "kuvaka faira rinogoneka mukati. C ++”, “kuvaka raibhurari muC++” kana “kuita bvunzo yeC++”, pamwe nekuona chinangwa uye mapuratifomu. Mune iyo BUILD mameseji faira, zvikamu zvepurojekiti zvinotsanangurwa senge boka remaraibhurari, mafaera anogona kuitiswa uye bvunzo, pasina kudonongodza pamwero wemafaira ega uye compiler call command. Kuwedzera kushanda kunoitwa kuburikidza nemuchina wekubatanidza mawedzero.

Kushandiswa kwemafaira egungano rimwe chete kumapuratifomu akasiyana uye zvivakwa zvinotsigirwa; semuenzaniso, imwe faira regungano isina shanduko inogona kushandiswa kune ese arisevha system uye nharembozha. Iyo sisitimu yekuvaka yakagadzirwa kubva pasi kuti inyatso kuvaka mapurojekiti eGoogle, anosanganisira mapurojekiti akakura kwazvo uye mapurojekiti ane kodhi mumitauro yakawanda yekuronga, inoda kuyedzwa kwakadzama, uye yakavakirwa mapuratifomu akawanda.

Source: opennet.ru

Voeg