Import Path Deduction
演绎是 dep 的算法,用于查看导入路径并确定路径中与源根对应的部分.该算法具有一个静态组件,通过该组件, 一小组已知的、流行的主机(如 GitHub 和 Bitbucket )可以推导出它们的根:
github.com/golang/dep/gps>github.com/golang/depbitbucket.org/foo/bar/baz>bitbucket.org/foo/bar
由静态演绎支持的主机集与 那些支持 go get:
- 吉图布
- 比特桶
- 发射台
- IBM DeVoPS 服务
此外,Dep 还处理 GopkGin 直接使用静态演绎是因为,由于内部实现细节,它也是附加过滤器以适应 gopkg 的版本化语 义的最简单方法.这是好的,如 Gopkg。在规则中,映射规则本身是静态的.
如果静态逻辑无法识别给定导入路径的根,则算法继续到动态组件: dep 对导入路径发出 HTTP(S) 请求,并且服务器期望发送回嵌入在 HTML 响应中的 根导入路径.同样,这直接模拟了 go get.
导入路径演绎适用于以下所有内容:
import所有发现的语句.go文件夹- 导入路径
required列入Gopkg.toml - 在
Gopkg.toml中,[[constraint]]和[[override]]两节中的name属 性。这仅仅是为了验证目的,强制执行这些名称仅对应于项目/源根.