python - 如何在外部 bazel 依赖项中生成配置文件

标签 python external bazel

我是 bazel 新手,并尝试在 MapIt 中自动更新数据库和代码。

我将 bazel 项目的根文件夹命名为 bazel_mapit,其中包含此外部依赖项的 WORKSPACE 文件和 BUILD 文件,如下所示。

世界空间:

new_git_repository(
    name            = "mapit_repo",
    remote          = "https://github.com/mysociety/mapit",
    tag             = "v2.0",
    build_file      = "mapit_repo.BUILD",
    init_submodules = 1,

)

mapit_reop.BUILD:

package(default_visibility = ["//visibility:public"])

filegroup(
    name = "mapit_files",
    srcs = glob(
        [
            "**/*",
        ],
        exclude = [
            "**/LICENSE",
            "**/*.zip",
        ],
    ),
)

现在我想在 MapIt 源代码中生成配置文件 conf/general.yml。现在的问题是,当我将以下代码添加到mapit_repo.BUILD文件时,我收到bazel找不到的错误

'@bazel_mapit//:general_yml.bzl'

mapit_repo.BUILD(扩展):

load("@bazel_mapit//:general_yml.bzl", "general_yml")

general_yml(
    name = 'generate_general_yml',
    bzl_mapit_db_user = 'foo',
)

filegroup (
    name = 'mapit_general_yml',
    srcs = ['conf/general.yml'],
    data = ['conf/general.yml-example'],
)

如何在外部依赖项中生成配置文件?

更新:

这是正在工作的mapit_repo.BUILD文件的内容:

package(default_visibility = ["//visibility:public"])

filegroup(
    name = "mapit_files",
    srcs = glob(
        [
            "**/*",
        ],
        exclude = [
            "**/LICENSE",
            "**/*.zip",
        ],
    ),
)

load("@//conf:general_yml.bzl", "general_yml")

general_yml(
  name = 'generate_general_yml',
  bzl_mapit_db_user = 'foo',
)

filegroup (
  name = 'mapit_general_yml',
  srcs = ['conf/general.yml'],
  data = ['@//conf:general.yml.tmpl'],
)

最佳答案

我认为需要更改的是load()mapit_repo.BUILD。该构建文件将从外部工作区中进行评估,因此要引用主工作区中的 bzl 文件,您可以使用 @//:general_yml.bzl。 (即空工作区名称指的是主工作区)

关于python - 如何在外部 bazel 依赖项中生成配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48116640/

相关文章:

python - SSL 下载 NLTK 数据时出错

python - Django INSTALLED_APPS 中的点路径无法导入

python - 如何在 matplotlib 中平滑 2D 颜色图

python - 从 Django 管理 UI 调用 Python 脚本(在字段值更改时)

css - 网页无法加载 css 文件

android - 给定一个 tensorflow 模型图,如何找到输入节点和输出节点名称

python - PyQT 声子音量 slider ?如何在我的声子播放器上连接它

css - 如何 Over ride youtube 外部样式?

c++ - 使用 Bazel 运行使 GetTempPath 返回 C :\Windows\

go - 如何使用 bazel 和 -race 选项运行 go 测试?