URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 119314
[ Назад ]

Исходное сообщение
"Выпуск сборочной системы Bazel 2.0 "

Отправлено opennews , 25-Дек-19 11:45 
Доступен выпуск открытого сборочного инструментария Bazel 2.0, развиваемого инженерами из Google и используемого для сборки большинства внутренних проектов данной компании.  Bazel обеспечивает сборку проекта, запуская необходимые компиляторы и тесты. Поддерживается сборка и тестирование кода на Java, C++,  Objective-C, Python, Rust, Go и многих других языках, а также сборка мобильных приложений для Android и iOS.  Код проекта распространяется под лицензией Apache 2.0...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=52090


Содержание

Сообщения в этом обсуждении
"Выпуск сборочной системы Bazel 2.0 "
Отправлено X4asd , 25-Дек-19 11:45 
> Сборочная система изначально спроектирована для оптимальной сборки проектов Google, в том числе сборки очень больших проектов и проектов, содержащих код на нескольких языках программирования, требующих расширенного тестирования и собираемых для нескольких платформ.

изначально спроектирована для проектов Google.

в конечном итоге только для них и используется :-) .


"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 12:58 
Еще Дропбокс использует https://github.com/dropbox/dbx_build_tools например

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 12:59 
Монорепо - это костыль для тех, кто путает VCS с пакетным менеджером.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено yet another anonymous , 25-Дек-19 13:38 
Наблюдается тенденция замешивать в "систему сборки" не только систему сбора информации о сборочной машине и целевой системе, но и собственный пакетный менеджер и примотанный синей изолентой VCS.

А что, пипл горячо одобряет.


"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 01-Янв-20 01:37 
Надо еще свою операционку, чтоли, тащить. Гугл вот например может попробовать андроид всучивать внагрузку.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 15:17 
Так а зачем прикручивать еще и пакетный менеджер, когда можно обойтись одной сущностью?

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 17:00 
Потому что на проекте бывает больше одного разработчика иногда.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 17:20 
И что? Разработчикам монорепо начинает доставлять неприятности только когда разрастается до совсем уж космических размеров (или когда работодателя душит жаба купить для них современные машины). Или на оффтопике из-за убогой работы кэша ФС, но на оффтопике и других страданий полно. А при адекватном размере монорепы она наоборот, упрощает жизнь

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 16:14 
нет. Basel широко применяется, при сборке суровых энтерпрайзных проектов под андроид без него вообще никуда. Но конечно, это специфический инструмент, в небольших опенсорсных проектах он не нужен.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Google , 25-Дек-19 21:14 
Внутри Гугла она называется Blaze

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 26-Дек-19 01:19 
Blazer вишневый

"Выпуск сборочной системы Bazel 2.0 "
Отправлено добрый анонимайзер , 26-Дек-19 13:02 
только для нас и только у нас, это что бы за забор не смотрели, а только у нас сидели

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 31-Дек-19 21:11 
> в конечном итоге только для них и используется :-) .

Потому что гугломонстр как он есть. Я насчитал там как минимум яву, питон, с++, шелл, файлы для самого себя, и наверняка еще что-то пропустил. В общем обычная гугловская сборочница - надо скачать половину интернета и забить половину диска. Чтобы скомпилить уже наконец вон тот чертов хелловорлд.


"Выпуск сборочной системы Bazel 2.0 "
Отправлено yet another anonymous , 25-Дек-19 12:06 
А как на практике соотносится

> вместо определения привязки команд к собираемым файлам производится применение более абстрактных готовых блоков, таких как "сборка исполняемого файла на языке С++", "сборка библиотеки на C++"

и

> ... в том числе ... проектов, содержащих код на нескольких языках программирования

?

В контексте

> один файл сборки без изменений может применяться как для серверной системы, так и для мобильного устройства

подозревается беспощадный ad-hoc, засунутый под заваренный капот системы.


"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 13:07 
Это как сборка для сборки для сборки. Там пишется такой обвес что он сам по себе как целая программа только кофе не готовит.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 13:22 
Добро похаловать в реальность, так делают почти все: от заурядного autotools, до всяких CMake, meson и т.д.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 25-Дек-19 16:58 
Бывает все-таки попроще. Но реальный мир такой реальный.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено BlackRot , 25-Дек-19 22:35 
А сам андроид в нем собрать можно?

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 27-Дек-19 05:04 
В нем собирается все, даже небо, даже Аллах!

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Аноним , 28-Дек-19 17:29 
Это тебе так кажется.
Я хоть и не мусульманин, однако могу сказать
- у тебя программа
"выполнила недопустимую ошибку и будет закрыта".

"Выпуск сборочной системы Bazel 2.0 "
Отправлено Я , 13-Ноя-20 12:06 
теперь да.

"Выпуск сборочной системы Bazel 2.0 "
Отправлено qsdg , 26-Дек-19 22:35 
Работал в двух разных компаниях с Bazel -- проект собирался час-полтора (со всеми включенными кешами!). Мне почему-то кажется, что если бы люди делали раздельные репы и версионирование депенденсей, то (контринтуитивно) было бы проще и быстрее.

Но самая главная проблема -- monorepo (на самом деле monobuilder) очень враждебен к любому third-party. Либо вы пишите всё сами in-house (как гугля), либо сидите на древней версии какого-либо third-party (и самого базеля). У нас дошло до того, что нужно хитро качать и устанавливать редактор кода, который бы смог работать этими старыми версиями. А реюзать код (и протобуферы!) из монорепы в других проектах почти невозможно (протобуферы не компилятся отдельно).