go_remote_library 在裤子中的使用
go_remote_library usage in Pants
我目前正在尝试使用 go_remote_library 目标??、程序包??、插件??在裤子里。真正简单的问题,在这里:
如果在我的代码中我将导入列为:
import(
"github.com/golang/groupcache"
)
我指定简单的名称 "groupcache" 而不是完整的导入路径是否有效?这是我的 BUILD 文件的样子:
go_remote_library(name="groupcache",
rev="d781998583680cda80cf61e0b37dd0cd8da2eb52"
)
我这样做对吗?作为旁注,是否有一个 Pants 目标可用于测试我的 BUILD 文件是否有效?谢谢!
你做得对。所有的 go 目标——在本例中为 go_remote_library
,还有 go_library
和 go_binary
——当前采用名称参数,它必须是 BUILD 文件所在目录的名称。裤子的下一个版本 (0.0.44) 应该删除 name 参数,让你没有选择权。
第一道防线是BUILD Dictionary。
go_remote_library
你会发现 this doc.
至于测试,最简单的测试是检查语法,为此可以做到这一点:
./pants list path/to/BUILD:
注意路径后面的冒号
这表示“列出在 path/to/BUILD
中定义的所有目标。这里的 :
表示全部 - 它等同于 Bourne shell 中用于 BUILD 文件中裤子目标的 *
通配符。
如果您想一次检查更多目标,您可以说:
./pants list ::
这里使用递归 glob - 相当于 zsh 中的 **
,所以这要求裤子列出 repo 中的所有目标。
如果语法检查通过,您可能还有更细微的问题,例如定义一个 go_remote_library
未指向有效的 github 项目。这些问题只会在您尝试对目标的元数据采取更多行动时才会出现,例如 list
和 depmap
目标。对于go_remote_library
,最简单的练习方法是尝试解析库:
./pants resolve 3rdparty/go/github.com/bitly/go-simplejson2
如果您在该路径中有此 BUILD 文件内容:
go_remote_library(name='go-simplejson2')
运行 解析将失败,因为不存在这样的 github 存储库。
您可以对 go_library
和 go_binary
目标进行类似的更高级别检查,而不是 运行 ./pants compile ...
。这将确定您是否缺少任何必需的 go_remote_library
BUILD 文件或依赖项。
我目前正在尝试使用 go_remote_library 目标??、程序包??、插件??在裤子里。真正简单的问题,在这里:
如果在我的代码中我将导入列为:
import(
"github.com/golang/groupcache"
)
我指定简单的名称 "groupcache" 而不是完整的导入路径是否有效?这是我的 BUILD 文件的样子:
go_remote_library(name="groupcache",
rev="d781998583680cda80cf61e0b37dd0cd8da2eb52"
)
我这样做对吗?作为旁注,是否有一个 Pants 目标可用于测试我的 BUILD 文件是否有效?谢谢!
你做得对。所有的 go 目标——在本例中为 go_remote_library
,还有 go_library
和 go_binary
——当前采用名称参数,它必须是 BUILD 文件所在目录的名称。裤子的下一个版本 (0.0.44) 应该删除 name 参数,让你没有选择权。
第一道防线是BUILD Dictionary。
go_remote_library
你会发现 this doc.
至于测试,最简单的测试是检查语法,为此可以做到这一点:
./pants list path/to/BUILD:
注意路径后面的冒号
这表示“列出在 path/to/BUILD
中定义的所有目标。这里的 :
表示全部 - 它等同于 Bourne shell 中用于 BUILD 文件中裤子目标的 *
通配符。
如果您想一次检查更多目标,您可以说:
./pants list ::
这里使用递归 glob - 相当于 zsh 中的 **
,所以这要求裤子列出 repo 中的所有目标。
如果语法检查通过,您可能还有更细微的问题,例如定义一个 go_remote_library
未指向有效的 github 项目。这些问题只会在您尝试对目标的元数据采取更多行动时才会出现,例如 list
和 depmap
目标。对于go_remote_library
,最简单的练习方法是尝试解析库:
./pants resolve 3rdparty/go/github.com/bitly/go-simplejson2
如果您在该路径中有此 BUILD 文件内容:
go_remote_library(name='go-simplejson2')
运行 解析将失败,因为不存在这样的 github 存储库。
您可以对 go_library
和 go_binary
目标进行类似的更高级别检查,而不是 运行 ./pants compile ...
。这将确定您是否缺少任何必需的 go_remote_library
BUILD 文件或依赖项。