Verëffentlechung vum Bazel 2.0 Build System

Verfügbar Verëffentlechung vun oppene Versammlungsinstrumenter Bazel 2.0, entwéckelt vu Google Ingenieuren a benotzt fir déi meescht intern Projeten vun der Firma ze bauen. Bazel këmmert sech ëm Projetbau, leeft déi néideg Compiler an Tester aus. Et ënnerstëtzt de Bau an d'Testung vu Code a Java, C++, Objective-C, Python, Rust, Go a villen anere Sproochen, souwéi de Bau vu mobilen Apps fir ... Android an iOS. Projetcode verdeelt duerch lizenzéiert ënner Apache 2.0.

Eng bedeitend Versiounsännerung beinhalt d'Zousatz vun Ännerungen déi Réckkompatibilitéit briechen. Vun Bazel 2.0 un, sinn déi folgend Modi als Standard aktivéiert: "—incompatible_remap_main_repo" (Links mam Numm an iwwer @ elo Link op dee selwechte Repository), "—incompatible_disallow_dict_lookup"_ (Notzung vun onhashable Schlësselen),
"--incompatible_remove_native_maven_jar" an "--incompatible_prohibit_aapt1". Aner Ännerungen enthalen:

  • An enger Equipe aquery experimentell Ënnerstëtzung ass fir eng nei Editioun vum "Proto" Output Format (-output = proto) erschéngt, deen am Moment als Standard deaktivéiert ass (-incompatible_proto_output_v2) a bitt eng méi kompakt Presentatioun vun Daten;
  • De Fändel "--incompatible_remove_enabled_toolchain_types" hinzugefügt fir de Feld PlatformConfiguration.enabled_toolchain_types ze läschen;
  • Zousätzlech Schutz géint Luede Packagen déi zyklesch symbolesch Linken benotzen wann d'Weeër Luede wann se ausgebaut ginn;
  • Implementéiert d'Fäegkeet fir den "--disk_cache" Fändel mat externen gRPC Cache ze benotzen;
  • Am Pak fir Debian an den binäre Installer enthält eng verbessert Schicht, déi ~/.bazelversion-Dateien an d'Ëmweltvariabel $USE_BAZEL_VERSION behandelt;
  • Als Virbereedung fir d'Deprecatioun vu Runfiles Manifestdateien ass de Fändel "--experimental_skip_runfiles_manifests" bäigefüügt.

Ënnert den ënnerschiddleche Feature vu Bazel sinn d'Héichgeschwindegkeet, Zouverlässegkeet an Widderhuelbarkeet vum Montageprozess. Fir héich Baugeschwindegkeet z'erreechen, benotzt Bazel aktiv Cache- a Paralleliséierungstechnike fir de Bauprozess. BUILD Dateien mussen all Ofhängegkeeten komplett definéieren, op Basis vun deenen Entscheedunge gemaach gi fir Komponenten opzebauen nodeems d'Ännerunge gemaach ginn (nëmme geännert Dateien ginn nei opgebaut) an de Montageprozess paralleliséieren. Tooling suergt och fir widderhuelend Montage, d.h. D'Resultat vum Bau vun engem Projet op der Maschinn vum Entwéckler wäert komplett identesch sinn mat dem Bau op Drëtt-Partei Systemer, sou wéi kontinuéierlech Integratiounsserver.

Am Géigesaz zu Make an Ninja benotzt Bazel eng Approche méi héich fir d'Versammlungsregelen ze bauen, an där, anstatt d'Bindung vun de Kommandoen un d'Dateien ze definéieren, déi gebaut ginn, méi abstrakt fäerdeg Blödsinn benotzt ginn, sou wéi "eng ausführbar Datei opbauen an C ++", "eng Bibliothéik an C ++ bauen" oder "en Test fir C ++ ausféieren", souwéi Zil z'identifizéieren a Plattformen ze bauen. An der BUILD Textdatei ginn d'Projetkomponente beschriwwen als eng Rëtsch Bibliothéiken, ausführbar Dateien an Tester, ouni Detailer um Niveau vun eenzelne Dateien a Compiler Uruff Kommandoen. Zousätzlech Funktionalitéit gëtt duerch de Mechanismus fir d'Verbindung vun Extensiounen ëmgesat.

D'Benotzung vun eenzel Versammlungsdateien fir verschidde Plattformen an Architekturen gëtt ënnerstëtzt, zum Beispill, eng Versammlungsdatei ouni Ännerungen kann souwuel fir e Serversystem wéi och fir e mobilen Apparat benotzt ginn. De Bausystem ass vun Ufank un entworf fir optimal Google Projeten ze bauen, och ganz grouss Projeten a Projeten déi Code a verschidde Programméierungssproochen enthalen, extensiv Tester erfuerderen a fir verschidde Plattforme gebaut sinn.

Source: opennet.ru

Kaaft zouverlässeg Hosting fir Site mat DDoS Schutz, VPS VDS Server 🔥 Kaaft zouverléissegt Websäithosting mat DDoS-Schutz, VPS VDS Server | ProHoster