د بازل 2.0 جوړونې سیسټم خوشې کول

موجود د خلاصې غونډې وسیلې خوشې کول بازل 2.0, развиваемого инженерами из Google и используемого для сборки большинства внутренних проектов данной компании. Bazel обеспечивает сборку проекта, запуская необходимые компиляторы и тесты. Поддерживается сборка и тестирование кода на Java, C++, Objective-C, Python, Rust, Go и многих других языках, а также сборка мобильных приложений для Android и iOS. Код проекта لخوا توزیع شوی د اپاچی 2.0 لاندې جواز شوی.

Значительное изменение версии связано с добавлением изменений, нарушающих обратную совместимость. Начиная с Bazel 2.0 включены по умолчанию режимы «—incompatible_remap_main_repo» (ссылки по имени и через @ теперь ссылаются на один репозиторий), «—incompatible_disallow_dict_lookup»_(применение нехешируемых ключей),
«—incompatible_remove_native_maven_jar» и «—incompatible_prohibit_aapt1». Среди других изменений:

  • В команде aquery появилась экспериментальная поддержка новой редауции формата вывода «proto» (—output=proto), которая пока отключена по умолчанию (—incompatible_proto_output_v2) и обеспечивает более компактное представление данных;
  • Добавлен флаг «—incompatible_remove_enabled_toolchain_types», позволяющий удалить поле PlatformConfiguration.enabled_toolchain_types;
  • Добавлена защита от загрузки пакетов, при загрузке которых при раскрытии путей используются цикличные символические ссылки;
  • Реализована возможность использования флага «—disk_cache» с внешними кэшами gRPC;
  • В пакет для Debian и бинарный инсталлятор включена улучшенная прослойка, обрабатывающая файлы ~/.bazelversion и переменную окружения $USE_BAZEL_VERSION;
  • В рамках подготовки к переводу файлов с манифестом runfiles в категорию устаревших возможностей добавлен флаг «—experimental_skip_runfiles_manifests».

د بازل د ځانګړو ځانګړتیاو څخه د غونډې پروسې لوړ سرعت، اعتبار او تکرار وړتیا دي. د لوړ جوړونې سرعت ترلاسه کولو لپاره ، بازل په فعاله توګه د جوړونې پروسې لپاره د کیچ کولو او موازي کولو تخنیکونه کاروي. د BUILD فایلونه باید ټول انحصارونه په بشپړ ډول تعریف کړي ، د کوم پراساس چې د بدلونونو رامینځته کیدو وروسته د اجزاو بیا جوړولو لپاره پریکړې کیږي (یوازې بدل شوي فایلونه بیا رغول کیږي) او د مجلس پروسې موازي کوي. اوزار هم د تکرار وړ مجلس ډاډمن کوي، د بیلګې په توګه د پراختیا کونکي ماشین کې د پروژې رامینځته کولو پایله به په بشپړ ډول د دریمې ډلې سیسټمونو جوړولو سره ورته وي ، لکه د دوامداره ادغام سرورونو.

د میک او نینجا برخلاف ، بازل د مجلس مقرراتو رامینځته کولو لپاره د لوړې کچې چلند کاروي ، په کوم کې چې د جوړیدو فایلونو ته د کمانډونو پابندۍ تعریف کولو پرځای ، نور خلاص چمتو شوي بلاکونه کارول کیږي ، لکه "د اجرا وړ فایل جوړول. C++، "په C++ کې د کتابتون جوړول" یا "د C++ لپاره د ازموینې چلول"، او همدارنګه د هدف پیژندل او پلیټ فارمونه جوړول. د BUILD متن فایل کې، د پروژې برخې د کتابتونونو، د اجرا وړ فایلونو او ازموینو د یوې ډلې په توګه بیان شوي، پرته له دې چې د انفرادي فایلونو او کمپیلر کال کمانډونو په کچه توضیحات وړاندې کړي. اضافي فعالیت د نښلولو توسیع لپاره د میکانیزم له لارې پلي کیږي.

Поддерживается использование единых сборочных файлов для разных платформ и архитектур, например, один файл сборки без изменений может применяться как для серверной системы, так и для мобильного устройства. Сборочная система изначально спроектирована для оптимальной сборки проектов Google, в том числе сборки очень больших проектов и проектов, содержащих код на нескольких языках программирования, требующих расширенного тестирования и собираемых для нескольких платформ.

سرچینه: opennet.ru

Add a comment