aea0a6fcc6
Running and testing should be working on the three platforms, but there's still a fair bit that needs to be done: - Wheel building + testing in a venv still needs to be implemented. - Python requirements still need to be compiled with piptool and pinned; need to compile on all platforms then merge - Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally unified into one place - Currently using rustls to work around openssl compilation issues on Linux, but this will break corporate proxies with custom SSL authorities; need to conditionally use openssl or use https://github.com/seanmonstar/reqwest/pull/1058 - Makefiles and docs still need cleaning up - It may make sense to reparent ts/* to the top level, as we don't nest the other modules under a specific language. - rspy and pylib must always be updated in lock-step, so merging rspy into pylib as a private module would simplify things. - Merging desktop-ftl and mobile-ftl into the core ftl would make managing and updating translations easier. - Obsolete scripts need removing. - And probably more.
96 lines
2.2 KiB
Python
96 lines
2.2 KiB
Python
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
|
|
load("@rules_python//python:defs.bzl", "py_library")
|
|
load("@py_deps//:requirements.bzl", "requirement")
|
|
|
|
copy_file(
|
|
name = "buildinfo",
|
|
src = "//:buildinfo.txt",
|
|
out = "buildinfo.txt",
|
|
)
|
|
|
|
genrule(
|
|
name = "hooks_gen",
|
|
outs = ["hooks_gen.py"],
|
|
cmd = "$(location //qt:genhooks_gui) $@",
|
|
tools = ["//qt:genhooks_gui"],
|
|
)
|
|
|
|
genrule(
|
|
name = "extract_sass_colors",
|
|
srcs = [
|
|
"//ts/sass:_vars.scss",
|
|
],
|
|
outs = ["colors.py"],
|
|
cmd = "$(location //qt:extract_sass_colors) $< $@",
|
|
tools = [
|
|
"//qt:extract_sass_colors",
|
|
],
|
|
)
|
|
|
|
py_library(
|
|
name = "aqt",
|
|
srcs = glob([
|
|
"**/*.py",
|
|
]) + [
|
|
"//qt/aqt/forms:forms",
|
|
"//qt/aqt/forms:icons",
|
|
],
|
|
data = [
|
|
"buildinfo.txt",
|
|
"colors.py",
|
|
"py.typed",
|
|
":hooks_gen",
|
|
],
|
|
imports = [
|
|
# "..",
|
|
"../../rspy",
|
|
],
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
requirement("protobuf"),
|
|
requirement("decorator"),
|
|
requirement("requests"),
|
|
requirement("beautifulsoup4"),
|
|
requirement("flask"),
|
|
requirement("flask-cors"),
|
|
requirement("waitress"),
|
|
requirement("send2trash"),
|
|
requirement("markdown"),
|
|
requirement("jsonschema"),
|
|
"@pyqt5//:pkg",
|
|
] + select({
|
|
"@bazel_tools//src/conditions:host_windows": [
|
|
requirement("psutil"),
|
|
requirement("pywin32"),
|
|
],
|
|
"//conditions:default": [],
|
|
}),
|
|
# requirement("pyaudio"),
|
|
# ... this is making pytest very slow..
|
|
# requirement("pyqt5"),
|
|
)
|
|
|
|
# py_package(
|
|
# name = "anki_pkg",
|
|
# # Only include these Python packages.
|
|
# # packages = ["anki"],
|
|
# deps = [":anki"],
|
|
# )
|
|
|
|
# py_wheel(
|
|
# name = "anki_whl",
|
|
# # Package data. We're building "example_minimal_package-0.0.1-py3-none-any.whl"
|
|
# distribution = "anki",
|
|
# python_tag = "py3",
|
|
# requires = [
|
|
# "ankirspy (==2.1.35)",
|
|
# "distro ; sys_platform != \"darwin\" and sys_platform != \"win32\"",
|
|
# ],
|
|
# strip_path_prefixes = [
|
|
# "pylib",
|
|
# # "foo3",
|
|
# ],
|
|
# version = "0.0.1",
|
|
# deps = [":anki_pkg"],
|
|
# )
|