Lëshimi i sistemit të ndërtimit Bazel 2.0

Në dispozicion publikimi i mjeteve të montimit me burim të hapur Bazel 2.0, i zhvilluar nga inxhinierët e Google dhe i përdorur për të ndërtuar shumicën e projekteve të brendshme të kompanisë. Bazel merret me ndërtimin e projekteve, duke ekzekutuar kompilatorët dhe testet e nevojshme. Ai mbështet ndërtimin dhe testimin e kodit në Java, C++, Objective-C, Python, Rust, Go dhe shumë gjuhë të tjera, si dhe ndërtimin e aplikacioneve mobile për Android dhe iOS. Kodi i projektit shperndare nga licencuar sipas Apache 2.0.

Një ndryshim i rëndësishëm në version përfshin shtimin e ndryshimeve që prishin pajtueshmërinë e prapambetur. Duke filluar me Bazel 2.0, modalitetet e mëposhtme aktivizohen si parazgjedhje: "--incompatible_remap_main_repo" (referencat me emër dhe me @ tani i referohen të njëjtit depo), "--incompatible_disallow_dict_lookup" (përdorimi i çelësave të pakapshëm),
"--incompatible_remove_native_maven_jar" dhe "--incompatible_prohibit_aapt1". Ndryshime të tjera përfshijnë:

  • NĂ« ekip ujĂ«mbledhĂ«s MbĂ«shtetje eksperimentale Ă«shtĂ« shtuar pĂ«r njĂ« version tĂ« ri tĂ« formatit tĂ« daljes "proto" (--output=proto), i cili aktualisht Ă«shtĂ« i çaktivizuar si parazgjedhje (--incompatible_proto_output_v2) dhe ofron njĂ« pĂ«rfaqĂ«sim mĂ« kompakt tĂ« tĂ« dhĂ«nave;
  • U shtua flamuri "--incompatible_remove_enabled_toolchain_types" pĂ«r tĂ« hequr fushĂ«n PlatformConfiguration.enabled_toolchain_types;
  • Shtoi mbrojtje kundĂ«r ngarkimit tĂ« paketave qĂ« pĂ«rdorin lidhje simbolike rrethore gjatĂ« zgjerimit tĂ« shtigjeve;
  • Implementova mundĂ«sinĂ« pĂ«r tĂ« pĂ«rdorur flamurin "--disk_cache" me memorje tĂ« jashtme gRPC;
  • NĂ« paketim pĂ«r Debian dhe instaluesi binar pĂ«rfshin njĂ« shtresĂ« tĂ« pĂ«rmirĂ«suar qĂ« trajton skedarĂ«t ~/.bazelversion dhe variablin e mjedisit $USE_BAZEL_VERSION;
  • NĂ« pĂ«rgatitje pĂ«r heqjen dorĂ« nga runfiles me manifeste, Ă«shtĂ« shtuar flamuri "--experimental_skip_runfiles_manifests".

Ndër karakteristikat dalluese të Bazel janë shpejtësia e lartë, besueshmëria dhe përsëritshmëria e procesit të ndërtimit. Për të arritur shpejtësi të lartë ndërtimi, Bazel përdor në mënyrë aktive teknikat e ruajtjes në memorje dhe paralelizimit. Skedarët BUILD duhet të përcaktojnë plotësisht të gjitha varësitë, të cilat përdoren për të përcaktuar nëse do të rindërtohen komponentët pas ndryshimeve (vetëm skedarët e ndryshuar rindërtohen) dhe nëse do të paralelizohet procesi i ndërtimit. Mjetet gjithashtu garantojnë përsëritshmërinë e ndërtimit, që do të thotë se projekti i ndërtuar në makinën e zhvilluesit do të jetë plotësisht në përputhje me ndërtimin në sisteme të palëve të treta, siç janë serverat e integrimit të vazhdueshëm.

Ndryshe nga Make dhe Ninja, Bazel përdor një qasje të nivelit më të lartë për ndërtimin e rregullave të ndërtimit. Në vend që të përcaktojë lidhjet e komandave për skedarët që po ndërtohen, ai përdor blloqe më abstrakte dhe të gatshme, të tilla si "ndërto një skedar ekzekutues C++", "ndërto një bibliotekë C++" ose "ekzekuto një test C++", si dhe përcakton platformat e synuara dhe të ndërtimit. Në skedarin tekst BUILD, komponentët e projektit përshkruhen si grupe bibliotekash, skedarësh ekzekutues dhe testesh, pa detajuar skedarët individualë dhe komandat e thirrjes së përpiluesit. Funksionaliteti shtesë zbatohet përmes zgjerimeve.

Mbështetet përdorimi i skedarëve të vetëm ndërtimi për platforma dhe arkitektura të ndryshme. Për shembull, një skedar i vetëm ndërtimi mund të përdoret i pandryshuar si për sistemin e serverit ashtu edhe për një pajisje mobile. Sistemi i ndërtimit është projektuar nga themelet për të ndërtuar në mënyrë optimale projekte Google, duke përfshirë projekte shumë të mëdha dhe projekte që përmbajnë kod në gjuhë të shumta programimi, që kërkojnë testime të gjera dhe që ndërtohen për platforma të shumta.

Burimi: opennet.ru

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster