|
09.09.2015 Компания Google представила первый выпуск открытой системы сборки BazelАнонсирован Bazel 0.1.0, первый выпуск открытого варианта сборочного инструментария, используемого для сборки большинства внутренних проектов компании Google. Выпуск 0.1.0 позиционируется как бета-версия, поддерживающая сборку серверного и клиентского ПО на языках C++, Java, Python, Rust, Objective-C и Shell. Код Bazel распространяется под лицензией Apache.Bazel обеспечивает сборку проекта, запуская необходимые компиляторы и тесты, выполняя задачи, аналогичные таким системам, как Make, Ant, Gradle, Buck, Pants и Maven. Среди отличительных особенностей Bazel выделяются высокая скорость, надёжность и повторяемость процесса сборки. Для достижения высокой скорости сборки в Bazel активно применяются техники кэширования и распараллеливания процесса сборки. Инструментарий также гарантирует повторяемость сборки, т.е. результат сборки проекта на машине разработчика будет полностью совпадать со сборкой на сторонних системах, таких как серверы непрерывной интеграции. Bazel изначально спроектирован для оптимальной сборки проектов Google, в том числе сборки очень больших проектов и проектов, содержащих код на нескольких языках программирования, требующих расширенного тестирования и собираемых для нескольких платформ. В отличие от Make и Ninja в Bazel применяется более высокоуровневый подход к построению правил сборки, при котором вместо определения привязки команд к собираемым файлам производится применения более абстрактных готовых блоков, таких как "сборка исполняемого файла на языке С++", "сборка библиотеки на C++" или "запуск теста для C++", а также определение целевых и сборочных платформ. Дополнительная функциональность реализуется через механизм подключения расширений. Особенности Bazel:
Из особенностей первого выпуск отмечается формирование бинарных сборок для Linux и OS X, возможность загрузки зависимостей из Maven Central, сборка и установка программ для Android, сборка и загрузки образов Docker, возможность предварительной загрузки и кэширования внешних зависимостей и режим изолированной сборки в Linux (Sandboxing). Из планов на первый стабильный релиз Bazel 1.0, который ожидается в мае 2016 года, отмечается реализация поддержки языка Go, система распределённого кэширования, сборка из репоизиториев Github, сборка приложений для iOS, интерфейс для интеграции с IDE и поддержка платформы Windows. Источники:
|
|
|
© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна: http://informaticslib.ru/ 'Библиотека по информатике' |