mirror of
https://github.com/ankitects/anki.git
synced 2025-09-18 22:12:21 -04:00

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.
35 lines
812 B
Python
35 lines
812 B
Python
#!/usr/bin/env
|
|
#
|
|
# Wrapper for protoc that strips the dirname from the output files,
|
|
# and generates mypy typechecking info.
|
|
|
|
import sys
|
|
import subprocess
|
|
import shutil
|
|
import os
|
|
|
|
(protoc, mypy_protobuf, proto, outdir) = sys.argv[1:]
|
|
|
|
# copy to current dir
|
|
basename = os.path.basename(proto)
|
|
shutil.copyfile(proto, basename)
|
|
|
|
# output filenames
|
|
without_ext = os.path.splitext(basename)[0]
|
|
pb2_py = without_ext + "_pb2.py"
|
|
pb2_pyi = without_ext + "_pb2.pyi"
|
|
|
|
# invoke protoc
|
|
subprocess.run([
|
|
protoc,
|
|
"--plugin=protoc-gen-mypy="+mypy_protobuf,
|
|
"--python_out=.",
|
|
"--mypy_out=.",
|
|
basename],
|
|
# mypy prints to stderr on success :-(
|
|
stderr=subprocess.DEVNULL,
|
|
check=True)
|
|
|
|
# move files into output
|
|
shutil.move(pb2_py, outdir + "/" + pb2_py)
|
|
shutil.move(pb2_pyi, outdir + "/" + pb2_pyi)
|