بيزل 2.0 بلڊ سسٽم جو رليز

دستياب کليل اسيمبلي اوزار جي ڇڏڻ بيزل 2.0, развиваемого инженерами из Google и используемого для сборки большинства внутренних проектов данной компании. Bazel обеспечивает сборку проекта, запуская необходимые компиляторы и тесты. Поддерживается сборка и тестирование кода на Java, C++, Objective-C, Python, Rust, Go и многих других языках, а также сборка мобильных приложений для Android и iOS. Код проекта طرفان ورهايل Apache 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».

Bazel جي مخصوص خاصيتن مان آهن تيز رفتار، reliability ۽ اسيمبلي جي عمل جي repeatability. تيز تعمير جي رفتار حاصل ڪرڻ لاء، بازل فعال طور تي تعمير جي عمل لاء ڪيچنگ ۽ متوازي ٽيڪنالاجي استعمال ڪري ٿو. BUILD فائلن کي لازمي طور تي سڀني انحصار جي وضاحت ڪرڻ گهرجي، جنهن جي بنياد تي فيصلا ڪيا ويا آهن اجزاء کي ٻيهر تعمير ڪرڻ کان پوء تبديليون ڪيون ويون آهن (صرف تبديل ٿيل فائلن کي ٻيهر تعمير ڪيو ويو آهي) ۽ اسيمبليء جي عمل کي متوازي ڪيو وڃي. اوزار پڻ ورجائيبل اسيمبلي کي يقيني بڻائي ٿو، يعني. ڊولپر جي مشين تي هڪ منصوبي جي تعمير جو نتيجو مڪمل طور تي ٽئين پارٽي سسٽم تي تعمير ڪرڻ جي برابر هوندو، جهڙوڪ مسلسل انضمام سرور.

ميڪ ۽ ننجا جي برعڪس، بيزل اسيمبليءَ جي ضابطن جي تعمير لاءِ هڪ اعليٰ سطحي طريقو استعمال ڪندو آهي، جنهن ۾، ٺاهيل فائلن کي ڪمانڊز جي پابند ڪرڻ جي بدران، وڌيڪ تجريدي تيار ٿيل بلاڪ استعمال ڪيا ويندا آهن، جيئن ”ان ۾ ايگزيڪيوٽوبل فائل ٺاهڻ. C++”، “C++ ۾ لائبريري ٺاهڻ” يا “C++ لاءِ ٽيسٽ هلائڻ”، انهي سان گڏ ٽارگيٽ جي سڃاڻپ ۽ پليٽ فارم ٺاهڻ. BUILD ٽيڪسٽ فائل ۾، پروجيڪٽ جا حصا بيان ڪيا ويا آهن لائبريرين جي هڪ گروپ، قابل عمل فائلون ۽ ٽيسٽ، انفرادي فائلن جي سطح تي تفصيل جي بغير ۽ ڪمپلر ڪال ڪمانڊ. اضافي ڪارڪردگي لاڳو ڪئي وئي آهي ميڪانيزم جي ذريعي ڳنڍڻ لاء.

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

جو ذريعو: opennet.ru

تبصرو شامل ڪريو