load("@pip//:requirements.bzl", "requirement") load("//private:defs.bzl", "py_pytest") """ interface definition """ py_library( name = "interface_definition", srcs = ["interface_definition.py"], ) """ templates """ py_library( name = "templates", srcs = ["templates.py"], data = glob(["templates/*"]), ) py_test( name = "templates_unittest", srcs = ["templates_unittest.py"], imports = ["."], deps = [":templates"], ) """ interface_generator """ py_binary( name = "interface_generator", srcs = [ "interface_generator.py", "templates.py", ], data = ["//:LICENSE.md"], imports = ["."], visibility = ["//visibility:public"], deps = [ ":interface_definition", ":templates", requirement("mako"), ], ) """ pytest """ py_pytest( name = "pytest", srcs = [ "interface_definition.py", "interface_generator.py", "templates.py", ], deps = [ ":interface_generator", requirement("mako"), ], )