路径和标签
在 bazel 中,每个可构建物(binary、library、file 等)都有一个唯一标签标识,格式如下。
1 | @repo//package/path:target_name |
同时,有以下约定。
- 当前仓库引用可以省略
@repo - 如果 target 和 包名相同,可以省略 target
//package - 引用同包内目标,可以直接指定目标名,
:target_name
标识符说明。 @repo指定仓库名//分割仓库和包:分割包和目标
查看所有 Targets
1 | bazel query //... --output label_kind |
修改输出路径
1 | 仍会在项目创建 bazel-* 软链, 一般无需修改 |
使用 github 依赖
在 WORKSPACE 中指定
1 | http_archive( |
这里的 8b976f7c6187f7f68956207b9a154bc278e11d7e 为 commit id,下载 url 为 https://github.com/{user}/{repo}/archive/{commit}.tar.gz
BUILD 文件中引用
1 | proto_library( |
proto 中引用
1 | import "google/api/annotations.proto"; |
部署 jar 包
WORKSPACE 中添加依赖
1 | RULES_JVM_EXTERNAL_TAG = "4.0" |
BUILD 文件添加 exporter
1 | java_gapic_library( |
执行 exporter
1 | 部署到本地 |