]> Sergey Matveev's repositories - stargrave-blog.git/commit
Попробовал go.mod на практике
authorSergey Matveev <stargrave@stargrave.org>
Sun, 28 Apr 2019 06:49:33 +0000 (09:49 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Sun, 28 Apr 2019 06:49:33 +0000 (09:49 +0300)
commitff602609469a5830b0c9be1f24d2d519dbb84561
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent31a56f5de0234738b454049f5a18a8d8b65a11a3
Попробовал go.mod на практике

Вчера, пиля NNCP, попробовал использовать подсистему модулей в Go, про
которую только читал. Сперва вообще ничего не вышло и упорно я не мог
добавить cypherpunks.ru/balloon зависимость. Я до сих пор так и не понял
в чём дело, но с обновлением Go с 1.11.x до 1.12.x всё заработало.

Вначале не очень понял и ощутил нравится ли или нет. Потом всё больше
стало нравится и я прям теперь яро одобряю эту подсистему! Однако не всё
так гладко: есть go mod vendor команда которая создаст vendor директорию
со всеми зависимостями. Я подумал что могу её использовать для создания
release tarballs и уже даже в коммитах выпилил git submodule-и (ведь
если человек может скачать git submodule, то и go mod ссылающийся на git
тоже полностью аналогичен по доступности). Так вот go mod vendor удаляет
кучу файлов, оставляя только то что кажется ему нужным для работы. Самое
главное это то, что он удаляет тесты. Поиск в Интернете говорит о том
что у многих людей аналогичные проблемы и до сих пор их не порешили. Так
что git submodule возвращаю для сборок (и только для сборок -- придётся
руками синхронизировать go mod и git submodule).