mirror of
https://github.com/ankitects/anki.git
synced 2025-09-24 08:46:37 -04:00

- anki._backend stores the protobuf files and rsbackend.py code - pylib modules import protobuf messages directly from the _pb2 files, and explicitly export any will be returned or consumed by public pylib functions, so that calling code can import from pylib - the "rsbackend" no longer imports and re-exports protobuf messages - pylib can just consume them directly. - move errors to errors.py Still todo: - rsbridge - finishing the work on rsbackend, and check what we need to add back to the original file location to avoid breaking add-ons
50 lines
1,008 B
Text
50 lines
1,008 B
Text
load("@rules_python//python:defs.bzl", "py_binary")
|
|
load("@py_deps//:requirements.bzl", "requirement")
|
|
load("//pylib:protobuf.bzl", "py_proto_library_typed")
|
|
|
|
py_proto_library_typed(
|
|
name = "backend_pb2",
|
|
src = "//rslib:backend.proto",
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
py_proto_library_typed(
|
|
name = "fluent_pb2",
|
|
src = "//rslib:fluent.proto",
|
|
visibility = [
|
|
"//visibility:public",
|
|
],
|
|
)
|
|
|
|
py_binary(
|
|
name = "genbackend",
|
|
srcs = [
|
|
"backend_pb2",
|
|
"genbackend.py",
|
|
],
|
|
deps = [
|
|
requirement("black"),
|
|
requirement("stringcase"),
|
|
requirement("protobuf"),
|
|
],
|
|
)
|
|
|
|
genrule(
|
|
name = "rsbackend_gen",
|
|
outs = ["generated.py"],
|
|
cmd = "$(location genbackend) > $@",
|
|
tools = ["genbackend"],
|
|
)
|
|
|
|
filegroup(
|
|
name = "_backend",
|
|
srcs = [
|
|
"__init__.py",
|
|
":backend_pb2",
|
|
":fluent_pb2",
|
|
":rsbackend_gen",
|
|
],
|
|
visibility = ["//pylib:__subpackages__"],
|
|
)
|