Bazel 存储库规则 - 我可以访问类似 Java "os.arch"的东西吗?



>我需要编写一个 Bazel 存储库规则,该规则根据所需的版本将 mysql 二进制文件下载到操作系统和架构中。

我将从用户那里获得所需的版本,从repository_os.name那里获得操作系统,但我不确定如何访问该架构?

当前的非密封代码使用os.arch作为足够好的启发式(是的,我知道它不精确(。

除了使用repository_ctx.execute请求uname -m外,无法访问该架构。您还可以通过根据repository_ctx.os.name执行不同的命令来使其在 Windows 上运行(这与 JVM 中的os.name相同,因此如果它包含win则可以执行 Windows 命令(。如果您认为需要这样做,请在 https://github.com/bazelbuild/bazel/issues/new 上提交功能请求

主机平台的 CPU 体系结构和操作系统名称可通过 repository_ctx.os 访问。该属性是带有拱形和名称的repository_os结构。

最新更新