Я работаю над библиотекой go, которую я собираюсь распространять как двоичный артефакт.Теперь я знаю, что есть различные варианты -buildmode
, и archive
должен сделать это для меня и перейти на 1.7 +. //go:binary-only-package
делает трюк официальным.
Однако, когда я собираю свою библиотекурезультирующий архив (*.a
) содержит только мою библиотеку, а не какие-либо зависимости.На самом деле у меня есть зависимость, которая сама по себе является только двоичной и представляет собой статически связанный архив (это библиотека C, с которой я интегрируюсь).
Используя надлежащие архивы с собственным кодом, я фактически могу собрать такиетолстый архив с использованием ar
или libtool
хитрости - но эти инструменты не работают с моими артефактами go.
Есть ли способ, как я могу распространить один файл *.a
или мне нужно прибегнуть купаковать несколько архивов, скажем, в zip-файл, который напоминает структуру каталогов в $GOPATH
, и попросить разработчиков моего клиента просто распаковать это в их $GOPATH
и покончить с этим?