Мерль
Anton
andrei
ща бы генерики...
Axm
Ну я решил, что это очевидно. Нет? Тогда расскажи, зачем нужен вендор, и как он свои задачи будет выполнять, если его в репу не класть. Я думаю, все станет очевидно, пока рассказывать будешь...
я пока еще новичок в го, поэтому могу ошибаться. думаю, чтобы не держать в репе чужое говно, которое там не нужно, чтобы не засирать реквесты и коммиты. для меня смысл dep или glide в том, что ты выполнил команду и они сами скачали нужную версию зависимости, ту что ты прописал в Gopkg.toml. ну то есть, я ожидаю такого поведения от этих инструментов.
Anton
Daniel
Я повторю вопрос - а если репа удалена?
Anton
в чем прикол зависимостей, которые надо хранить в своем репо
Daniel
Дело не в самих зависимостях, а в фиксации версий и доступности
Daniel
Daniel
Очевидно?
Anton
вполне, но от этого в остальных языках ведь не считается хорошей практикой коммитить зависимости
Anton
хотя там тоже такой риск есть
Daniel
Других - каких?
Anton
Других - каких?
В пхп - composer.json, в js - package.json, bower.json и куча других
Anton
Мерль
спасибо!
Так у тебя с одной стороны обеспечивается полиморфизм, а с другой стороны в функцию попадёт только то, что нужно и это проверяется на стадии компиляции
Мерль
Oleg
Мерль
Зло от безысходности
Axm
Axm
я знаю
Axm
но ведь уже собраные бинарники будут работать, верно?
Daniel
Верно
Axm
ну вот, а поправить код, тем более автозаменой, как в случае с логрусом, это говно вопрос
Aleksandr
Axm
короче я за то, чтобы не сидеть в землянке с тушенкой в ожидании ядерного пиздеца, а спокойно жить, решая проблемы по мере поступления.
Axm
ни на одном проекте на дотнете, где я участвовал, пока не было критических проблем из-за зависимостей, которые мы бы не смогли быстро поправить.
Daniel
Aleksandr
Daniel
Для запуска - не нужны.
Daniel
Есть подозрение, что вы просто плохо знакомы с матчастью, коллеги...
Aleksandr
Daniel
Нет?
Daniel
Тогда мы понимаем, что в го не надо дистрибутить либы на компы пользователей, да? И это очевидная разница, правда? А вы просто едите мне мозг, так?
Aleksandr
Daniel
Все-таки - плохое знание матчасти :(
Aleksandr
Anton
К теме о вендорах:
насколько я понимаю, если есть папка vendor, в нее компилятор будет смотреть в первую очередь, только потом в gopath на остальные зависимости, я прав?
Vladimir
engelbart
А че тут обсуждать то, вендореное надо комитить, если собираетеаь пересобирать в будущем
Daniel
плохой дискутер из тебя.
тут нет пространства для дискуссии.
в go сложились уникальные условия, при которых вендоринг вообще имеет смысл.
в с, с++, .net тоже можно было бы собирать и дистрибутить статические бинари, но - не сложилось, и уже не сложится.
о чем тут спорить - я не понимаю
engelbart
Если не собираетесь, бекапте бинарник и живите
Anton
Да
а при каких обстоятельствах может получиться так, что порядок ровно противоположный?
просто у меня именно так все
Daniel
начиная с 1.6 - не может
Daniel
в 1.5 надо было специальную переменную окружения выставить
Anton
у меня 1.8, так что vendorexperiment должен быть уже по-умолчанию
Anton
все это странно
Daniel
странно, да
Anton
как-то у го с его gopath и vendor все сложно с зависимостями
Anton
путаница часто возникает
Илья
пишешь в Makefile GOPATH=$$PWD:$$PWD/vendor
Илья
и норм :)
andrei
Daniel
не, я в мавене натыкался неоднократно
Daniel
даже приучился собирать uberjar всегда
andrei
джава это отдельная история...
andrei
🤔
Daniel
все истории отдельные, если разбираться
Daniel
Илья
ldflags с версией при сборке, generate, test, всё это на сервере сборки
Daniel
ldflags - а зачем они у вас? я без подколки спрашиваю
generate не надо на сервере сборки запускать, точно вам говорю
test и build не стоят того, чтобы чуждую =тулзу в проект втаскивать
Anonymous
Стоит.
Anonymous
Иногда завизимостей создается много
Anonymous
И проще одну маленькую команду делать
Anonymous
Нежели в чистую хреначить
Anonymous
Ради сокращения подключить всем известный make - ничего не стоит
Anonymous
Билд проекта, сборка его, билд с учетом проверок по гиту (Важно для микросервисов)
Daniel
что такое сборка отдельно от билда?
Anonymous
Тоже самое.
Anonymous
Русскую версию надо было не забыть написать