mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 14:02:21 -04:00
download wheels using rules_python
This commit is contained in:
parent
819ec40a3e
commit
4a8e2bdc2d
6 changed files with 13 additions and 27 deletions
8
defs.bzl
8
defs.bzl
|
@ -7,9 +7,9 @@ load("//proto:protobuf.bzl", "setup_protobuf_binary")
|
||||||
load("//proto:format.bzl", "setup_clang_format")
|
load("//proto:format.bzl", "setup_clang_format")
|
||||||
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
|
load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install")
|
||||||
load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories")
|
load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories")
|
||||||
load("@com_github_ali5h_rules_pip//:defs.bzl", "pip_import")
|
|
||||||
load("//pip/pyqt5:defs.bzl", "install_pyqt5")
|
load("//pip/pyqt5:defs.bzl", "install_pyqt5")
|
||||||
load("//pip/pyqt6:defs.bzl", "install_pyqt6")
|
load("//pip/pyqt6:defs.bzl", "install_pyqt6")
|
||||||
|
load("@rules_python//python:pip.bzl", "pip_parse")
|
||||||
|
|
||||||
anki_version = "2.1.49"
|
anki_version = "2.1.49"
|
||||||
|
|
||||||
|
@ -33,10 +33,10 @@ def setup_deps():
|
||||||
|
|
||||||
native.register_toolchains("@python//:python3_toolchain")
|
native.register_toolchains("@python//:python3_toolchain")
|
||||||
|
|
||||||
pip_import(
|
pip_parse(
|
||||||
name = "py_deps",
|
name = "py_deps",
|
||||||
requirements = "@ankidesktop//pip:requirements.txt",
|
requirements_lock = "@ankidesktop//pip:requirements.txt",
|
||||||
python_runtime = "@python//:python",
|
python_interpreter_target = "@python//:python",
|
||||||
)
|
)
|
||||||
|
|
||||||
install_pyqt5(
|
install_pyqt5(
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
"""Repo setup that can't happen until after defs.bzl:setup_deps() is run."""
|
"""Repo setup that can't happen until after defs.bzl:setup_deps() is run."""
|
||||||
|
|
||||||
load("@py_deps//:requirements.bzl", "pip_install")
|
load("@py_deps//:requirements.bzl", "install_deps")
|
||||||
load("@rules_rust//tools/rust_analyzer/raze:crates.bzl", "rules_rust_tools_rust_analyzer_fetch_remote_crates")
|
load("@rules_rust//tools/rust_analyzer/raze:crates.bzl", "rules_rust_tools_rust_analyzer_fetch_remote_crates")
|
||||||
load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
|
load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories")
|
||||||
|
|
||||||
def setup_late_deps():
|
def setup_late_deps():
|
||||||
pip_install()
|
install_deps()
|
||||||
rules_rust_tools_rust_analyzer_fetch_remote_crates()
|
rules_rust_tools_rust_analyzer_fetch_remote_crates()
|
||||||
esbuild_repositories()
|
esbuild_repositories()
|
||||||
|
|
|
@ -2,28 +2,14 @@ load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
|
||||||
load("@py_deps//:requirements.bzl", "requirement")
|
load("@py_deps//:requirements.bzl", "requirement")
|
||||||
|
|
||||||
def pip_binary(name, pkg = None):
|
def pip_binary(name, pkg = None):
|
||||||
"Expose a binary from pip as an executable for linting."
|
"Expose a binary from pip as an executable for linting. Does not work on Windows."
|
||||||
|
|
||||||
if not pkg:
|
if not pkg:
|
||||||
pkg = name
|
pkg = name
|
||||||
|
|
||||||
binary_prefix = requirement(pkg).replace(":pkg", ":bin/" + name)
|
native.alias(
|
||||||
|
|
||||||
copy_file(
|
|
||||||
name = name + "_bin",
|
|
||||||
src = select({
|
|
||||||
"@platforms//os:windows": binary_prefix + ".exe",
|
|
||||||
"//conditions:default": binary_prefix,
|
|
||||||
}),
|
|
||||||
out = name + "_bin.py",
|
|
||||||
)
|
|
||||||
|
|
||||||
native.py_binary(
|
|
||||||
name = name,
|
name = name,
|
||||||
srcs = [":" + name + "_bin.py"],
|
actual = requirement(pkg).replace(":pkg", ":rules_python_wheel_entry_point_" + name),
|
||||||
main = ":" + name + "_bin.py",
|
|
||||||
deps = [
|
|
||||||
requirement(pkg),
|
|
||||||
],
|
|
||||||
visibility = ["//visibility:public"],
|
visibility = ["//visibility:public"],
|
||||||
|
tags = ["manual"],
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,7 +17,7 @@ def copy_folder(pkgname, path, outbase):
|
||||||
shutil.copytree(path, os.path.join(outbase, f"{stubname}-stubs"))
|
shutil.copytree(path, os.path.join(outbase, f"{stubname}-stubs"))
|
||||||
|
|
||||||
|
|
||||||
name_re = re.compile("__types_(.+?)_\d")
|
name_re = re.compile("__types_(.+?)$")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
outbase = os.path.abspath(sys.argv[1])
|
outbase = os.path.abspath(sys.argv[1])
|
||||||
|
|
|
@ -31,7 +31,7 @@ if __name__ == "__main__":
|
||||||
# bazel passes in \\?\c:\... path; mypy can't handle it, so we
|
# bazel passes in \\?\c:\... path; mypy can't handle it, so we
|
||||||
# strip off prefix
|
# strip off prefix
|
||||||
for entry in sys.path:
|
for entry in sys.path:
|
||||||
if "__mypy_" in entry:
|
if entry.endswith("__mypy"):
|
||||||
typeshed = f"{entry[4:]}\\mypy\\typeshed"
|
typeshed = f"{entry[4:]}\\mypy\\typeshed"
|
||||||
args.append("--custom-typeshed-dir")
|
args.append("--custom-typeshed-dir")
|
||||||
args.append(typeshed)
|
args.append(typeshed)
|
||||||
|
|
|
@ -39,7 +39,7 @@ if __name__ == "__main__":
|
||||||
# bazel passes in \\?\c:\... path; mypy can't handle it, so we
|
# bazel passes in \\?\c:\... path; mypy can't handle it, so we
|
||||||
# strip off prefix
|
# strip off prefix
|
||||||
for entry in sys.path:
|
for entry in sys.path:
|
||||||
if "__mypy_" in entry:
|
if entry.endswith("__mypy"):
|
||||||
typeshed = entry[4:] + "\\mypy\\typeshed"
|
typeshed = entry[4:] + "\\mypy\\typeshed"
|
||||||
args.append("--custom-typeshed-dir")
|
args.append("--custom-typeshed-dir")
|
||||||
args.append(typeshed)
|
args.append(typeshed)
|
||||||
|
|
Loading…
Reference in a new issue