Skip to content

Commit 9524f77

Browse files
committed
Add circuitpython-mpy-cross
This wraps the process of building or downloading mpy-cross for a specified version, then running it with specified arguments. e.g., ``` $ circuitpython-mpy-cross --circuitpython-version 9.x -- --version CircuitPython 9.0.0-alpha.2 on 2023-10-27; mpy-cross emitting mpy v6.1 ```
1 parent 8fe3db1 commit 9524f77

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
import subprocess
2+
3+
import click
4+
5+
from ..target_versions import VERSIONS
6+
from ..build import mpy_cross
7+
8+
@click.command(context_settings={"ignore_unknown_options": True})
9+
@click.option("--circuitpython-version", type=click.Choice([version["name"] for version in VERSIONS]))
10+
@click.option("--quiet/--no-quiet", "quiet", type=bool, default=True)
11+
@click.argument("mpy-cross-args", nargs=-1, required=True)
12+
def main(circuitpython_version, quiet, mpy_cross_args):
13+
version_info, = [v for v in VERSIONS if v["name"] == circuitpython_version]
14+
mpy_cross_exe = str(mpy_cross(version_info, quiet))
15+
try:
16+
subprocess.check_call([mpy_cross_exe, *mpy_cross_args])
17+
except subprocess.CalledProcessError as e:
18+
raise SystemExit(e.returncode)
19+
20+
if __name__ == '__main__':
21+
main()

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,6 @@
1818
entry_points='''
1919
[console_scripts]
2020
circuitpython-build-bundles=circuitpython_build_tools.scripts.build_bundles:build_bundles
21+
circuitpython-mpy-cross=circuitpython_build_tools.scripts.circuitpython_mpy_cross:main
2122
'''
2223
)

0 commit comments

Comments
 (0)