[英]Library dependencies in Go
我已经在Go中创建了一个库/程序包,并且达成的共识是,只有应用程序的项目中才包含一个vendor
文件夹,而库中没有。
所以现在我将我的软件包包含在另一个( govendor
)项目中,并且一切正常,直到它到达Jenkins并且必须使用其本地资源,其中缺少两个依赖项。
我的项目自述文件说,您需要做的就是go get
我的项目,然后完成。 但这不是万一您使用govendoring的情况。
我的图书馆应该采用什么方法? 这可以解决吗,还是这个“问题”仅仅是最终用户因为使用govendor
必须解决的问题?
我猜这更多是一个意见问题,不过,我将分享我的用法。
我将git子树用于在树中供应子存储库,然后添加//go:generate
行以稍后进行更新,例如:
➜ git subtree add --prefix vendor/xxx/yyy/zzz https://github.com/xxx/yyy/zzz master --squash
然后将//go:generate git subtree pull --prefix vendor/xxx/yyy/zzz https://github.com/xxx/yyy/zzz master --squash
到我的一个库文件中。
然后在我发布之前运行go generate
。
这样就解决了供应商的问题,而无需任何外部工具。
实时示例: https : //github.com/OneOfOne/xxhash/blob/master/xxhash_cgo.go
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.