Re[38]: MS забило на дотнет. Питону - да, сишарпу - нет?
От: alex_public  
Дата: 26.08.21 03:38
Оценка:
Здравствуйте, vdimas, Вы писали:

V>Т.е. сложно подхватить уже имеющуюся "родную" либу на целевых линухах.

V>Вместо этого Bazel предлагает то, что он может — скачать некую конкретную версию этой либы с github, но тогда её нужно собрать в виде статической либы, т.е. подключить её тело в проект, а не пользовать уже имеющуюся на машине DLL или SO.

Ну вообще то на самом деле совсем не сложно. Т.е. в своём проекте это делается вообще тривиально — просто указываешь в качестве зависимости свой build файл, в котором нет никакого реального построения (а только ссылки на системные библиотеки). Но и для чужого проекта тоже можно без проблем сделать из командной строки с помощью такой https://docs.bazel.build/versions/main/external.html#overriding-repositories-from-the-command-line опции. Т.е. опять же меняешь изначальную зависимость автора на свою локальную.

Но! Всё вышеописанное очевидно является дичайшим нарушением самой базовой концепции и философии bazel. Там же в основу всего проекта положена одна простая мысль о 100% повторяемости сборки проекта (конкретной его ревизии) на любых машинах. А описанный выше подход очевидно можно генерировать бинарники с разными поведением при сборке на разных ОС.

Так что хотя технических никаких проблем сделать такое нет, но практически так делать никогда не надо!

P.S. Линуксовый подход с общесистемной помойкой библиотек, управляемых пакетными менеджерами — это полная хрень, ради обхода которой и был придуман Docker.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.