123 lines
2.2 KiB
Python
123 lines
2.2 KiB
Python
load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test")
|
|
load("@py_deps//:requirements.bzl", "requirement")
|
|
|
|
py_binary(
|
|
name = "genbackend",
|
|
srcs = [
|
|
"tools/genbackend.py",
|
|
"//pylib/anki:backend_pb2",
|
|
],
|
|
imports = [
|
|
".",
|
|
],
|
|
visibility = [":__subpackages__"],
|
|
deps = [
|
|
requirement("black"),
|
|
requirement("stringcase"),
|
|
requirement("protobuf"),
|
|
],
|
|
)
|
|
|
|
py_library(
|
|
name = "hookslib",
|
|
srcs = ["tools/hookslib.py"],
|
|
imports = ["tools"],
|
|
visibility = ["//qt:__pkg__"],
|
|
)
|
|
|
|
py_binary(
|
|
name = "genhooks",
|
|
srcs = [
|
|
"tools/genhooks.py",
|
|
"tools/hookslib.py",
|
|
],
|
|
imports = ["."],
|
|
visibility = [":__subpackages__"],
|
|
deps = [
|
|
requirement("black"),
|
|
requirement("stringcase"),
|
|
],
|
|
)
|
|
|
|
py_test(
|
|
name = "pytest",
|
|
srcs = glob(["tests/*.py"]),
|
|
data = glob(["tests/support/**"]),
|
|
main = "tests/run_pytest.py",
|
|
deps = [
|
|
"//pylib/anki",
|
|
requirement("pytest"),
|
|
],
|
|
)
|
|
|
|
py_test(
|
|
name = "mypy",
|
|
srcs = [
|
|
"tests/run_mypy.py",
|
|
],
|
|
args = [
|
|
"anki",
|
|
"$(location mypy.ini)",
|
|
],
|
|
data = ["mypy.ini"],
|
|
main = "tests/run_mypy.py",
|
|
deps = [
|
|
"//pylib/anki",
|
|
requirement("mypy"),
|
|
],
|
|
)
|
|
|
|
py_test(
|
|
name = "pylint",
|
|
srcs = [
|
|
"tests/run_pylint.py",
|
|
],
|
|
args = [
|
|
"anki",
|
|
"$(location .pylintrc)",
|
|
],
|
|
data = [".pylintrc"],
|
|
main = "tests/run_pylint.py",
|
|
deps = [
|
|
"//pylib/anki",
|
|
requirement("pylint"),
|
|
],
|
|
)
|
|
|
|
py_test(
|
|
name = "format",
|
|
srcs = glob([
|
|
"anki/**/*.py",
|
|
"tests/**/*.py",
|
|
"tools/*.py",
|
|
]),
|
|
args = [
|
|
"$(location .isort.cfg)",
|
|
],
|
|
data = [".isort.cfg"],
|
|
main = "tests/run_format.py",
|
|
deps = [
|
|
"//pylib/anki",
|
|
requirement("black"),
|
|
requirement("isort"),
|
|
],
|
|
)
|
|
|
|
py_binary(
|
|
name = "format_fix",
|
|
srcs = [
|
|
"tests/run_format.py",
|
|
],
|
|
args = [
|
|
"$(location .isort.cfg)",
|
|
"fix",
|
|
],
|
|
data = [".isort.cfg"],
|
|
main = "tests/run_format.py",
|
|
tags = ["manual"],
|
|
deps = [
|
|
requirement("black"),
|
|
requirement("isort"),
|
|
],
|
|
)
|