我要定义一个规则来解压缩给定的 zip 文件。但是,例如,我不知道 zip 的内容,因此我无法outs在 genrule 中指定。这似乎是一个常见问题,谷歌搜索让我找到了遇到类似情况的人,但我还没有看到如何解决这个问题的具体例子。
我想要这样的东西:
genrule(
name="unzip",
src="file.zip",
outs=glob(["**"]), # except you're not allowed to use glob here
cmd = "unzip $(location file)",
)
Run Code Online (Sandbox Code Playgroud)
小智 3
您可以使用工作空间规则BUILD为 zip创建一个包含所有内容的文件。
你的文件中有类似这样的内容WORKSPACE:
new_http_archive(
name = "my_zip",
url = "http://example.com/my_zip.zip",
build_file_content = """
filegroup(
name = "srcs",
srcs = glob(["*"]),
visibility = ["//visibility:public"]
)
"""
)
Run Code Online (Sandbox Code Playgroud)
然后,BUILD您可以从文件中引用它作为输入@my_zip//:srcs
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |