如何解决如何为工作空间内的http_archive指定凭据?
我想使用工作区中包含的netrc文件为http_archive
中的单个URL指定凭据。我尝试了以下方法但没有成功:
- 我试图指定URL的“ userinfo”部分(如
http://<user>:<password>@host/path
只是为了获得身份验证错误。 - 我已经修改了
netrc
的{{1}}属性,但是我只能看到如何在此处使用绝对路径名;我希望将netrc包含在我的工作区中。
我是否必须编写自己的存储库规则,或者还有另一种方法?
解决方法
看看这个PR,名称为“ Readed support for authentication and .netrc”。它似乎包含支持http_archive
文件的.netrc
的改进版本。
def _http_archive_impl(ctx):
...
"netrc": attr.string(
doc = "Location of the .netrc file to use for authentication",),...
我不知道此功能的当前状态-也许它已经是最新Bazel版本的一部分(在撰写本文3.4.1时)
,同时,由于找不到简单的替代方法,因此创建了自己的存储库规则。这样做很好,但是缺少 @ProcessElement
public void processElement(
ProcessContext context,@StateId("index") ValueState<Integer> index) {
int current = firstNonNull(index.read(),0);
context.output(KV.of(current,context.element()));
index.write(current+1);
}
的全面文档,因此证明是反复试验的;-)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。