Skip to content

Commit 706e017

Browse files
author
Jason Mobarak
authored
dist: don't duplicate pyc files, trim down modules (#165)
* dist: don't duplicate pyc files, trim down modules + Use PYTHONDONTWRITEBYTECODE so that we don't generate __pycache__ folders when `compileall` runs + Purge internal modules we don't need + Don't build backend module for Python versions that we aren't using * loosen constraint on crossbeam * fix qml-format and qml-lint tasks for windows * loosen constraint on sbp / sbp-settings
1 parent 316bc68 commit 706e017

File tree

3 files changed

+60
-11
lines changed

3 files changed

+60
-11
lines changed

Makefile.toml

Lines changed: 56 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,17 @@ qml_files = glob_paths_excluding_target resources/**/*.qml
5757
set_env QML_FILES ${qml_files}
5858
'''
5959

60+
[tasks.set-qml-app]
61+
private = true
62+
condition = { env_not_set = ["QT_APP"] }
63+
script_runner = "@duckscript"
64+
script = '''
65+
python = get_env PYTHON
66+
output = exec ${python} utils/echo-qt-dir.py
67+
qt_app = trim ${output.stdout}
68+
set_env QT_APP ${qt_app}
69+
'''
70+
6071
[tasks.set-python-files]
6172
private = true
6273
condition = { env_not_set = ["PYTHON_FILES"] }
@@ -311,10 +322,12 @@ run_task = [
311322
]
312323

313324
[tasks.purge-dist]
325+
env = { PYTHONDONTWRITEBYTECODE = "1" }
314326
cwd = "py39-dist"
315327
script_runner = "@duckscript"
316328
script = '''
317-
py_folders = array test tests examples __pycache__ demos translations idlelib lib/tcl8 lib/tcl8.6 lib/tk8.6 shiboken2/docs ensurepip lib2to3 tkinter unittest
329+
330+
py_folders = array test tests examples __pycache__ demos translations idlelib lib/tcl8 lib/tcl8.6 lib/tk8.6 shiboken2/docs ensurepip lib2to3 tkinter unittest include
318331
qt_folders = array plugins/geoservices plugins/virtualkeyboard plugins/sqldrivers lib/Tix8.4.3 tcl/tix8.4.3 Qt/resources PySide2/resources
319332
qml_folders = array qml/QtWeb* qml/QtBluetooth* qml/QtNfc* qml/QtGamepad qml/QtTest qml/QtQuick3D qml/Qt3D qml/QtSensors qml/QtLocation qml/QtPositioning
320333
all_folders = array_concat ${py_folders} ${qt_folders} ${qml_folders}
@@ -387,9 +400,32 @@ else
387400
end
388401
end
389402
390-
exec --fail-on-error ${DIST_PYTHON} -m pip uninstall -y pip setuptools wheel
403+
exec --fail-on-error ${DIST_PYTHON} -m pip uninstall -y pip setuptools wheel flit
391404
exec --fail-on-error ${DIST_PYTHON} -m compileall -b -f -o 1 -o 2 .
392405
406+
if eq ${os} windows
407+
globs = array pyexpat.* sqlite3.* _ctypes_test.* _bz2.* _decimal.* _elementtree.* _multiprocessing.* _sqlite3.* _ssl.* _tkinter.* _uuid.* _zoneinfo.* _msi.* _test*.*
408+
for glob in ${globs}
409+
files = glob_array ./DLLs/${glob}
410+
for file in ${files}
411+
rm ${file}
412+
end
413+
files = glob_array ./libs/${glob}
414+
for file in ${files}
415+
rm ${file}
416+
end
417+
end
418+
endif
419+
420+
py_internal_libs = array Lib/email Lib/distutils Lib/http Lib/multiprocessing Lib/msilib Lib/http Lib/dbm Lib/curses Lib/xml Lib/xmlrpc Lib/urllib Lib/ensurepip Lib/venv Lib/wsgiref Lib/lib2to3
421+
422+
for name in ${py_internal_libs}
423+
folders = glob_array **/${name}/
424+
for folder in ${folders}
425+
rm -r ${folder}
426+
end
427+
end
428+
393429
files = glob_array ./**/*.py
394430
for file in ${files}
395431
rm ${file}
@@ -414,21 +450,35 @@ exec --fail-on-error xz -T 0 -e -9 "${output_name}.tar"
414450
run_task = [{ name = ["build-dist", "purge-dist", "compress-dist"] }]
415451

416452
[tasks.qml-format]
417-
dependencies = ["set-qml-files"]
418-
env = { QT_APP = { script = ["$PYTHON utils/echo-qt-dir.py"] } }
453+
dependencies = ["set-qml-files", "set-qml-app"]
419454
script_runner = "@shell"
420455
script = '''
421456
${QT_APP}/Qt/bin/qmlformat -i ${QML_FILES}
422457
'''
423458

459+
[tasks.qml-format.windows]
460+
dependencies = ["set-qml-files", "set-qml-app"]
461+
script_runner = "powershell"
462+
script_extension = "ps1"
463+
script = '''
464+
& ${env:QT_APP}\Qt\bin\qmlformat -i $(-split ${env:QML_FILES})
465+
'''
466+
424467
[tasks.qml-lint]
425-
dependencies = ["set-qml-files"]
426-
env = { QT_APP = { script = ["$PYTHON utils/echo-qt-dir.py"] } }
468+
dependencies = ["set-qml-files", "set-qml-app"]
427469
script_runner = "@shell"
428470
script = '''
429471
${QT_APP}/Qt/bin/qmllint -I ${QT_APP}/../PySide2/Qt/qml/ -I resources/ ${QML_FILES}
430472
'''
431473

474+
[tasks.qml-lint.windows]
475+
dependencies = ["set-qml-files", "set-qml-app"]
476+
script_runner = "powershell"
477+
script_extension = "ps1"
478+
script = '''
479+
& ${env:QT_APP}\Qt\bin\qmllint -I ${env:QT_APP}\..\PySide2\Qt\qml -I resources $(-split ${env:QML_FILES})
480+
'''
481+
432482
[tasks.qml-format-check]
433483
dependencies = ["qml-format"]
434484
run_task = "check-git-diff"

console_backend/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ serde_yaml = "0.8.17"
3131
clap = "3.0.0-beta.2"
3232
indexmap = { version = "1.6.2", features = ["serde"] }
3333
serde_json = { version = "1" }
34-
crossbeam = "0.8.1"
34+
crossbeam = "0.8"
3535
rand = "0.8.3"
3636
slotmap = "1.0.3"
3737
serde-pickle = { version = "0.6.2", optional = true }
@@ -40,8 +40,8 @@ minreq = { version = "2.4.2", features = ["https"] }
4040
regex = { version = "1.5.4" }
4141
semver = { version = "1" }
4242
rust-ini = "0.17.0"
43-
sbp = { version = "4.0.2", features = ["json", "link", "swiftnav"] }
44-
sbp-settings = "0.1.2"
43+
sbp = { version = "4.0", features = ["json", "link", "swiftnav"] }
44+
sbp-settings = "0.1"
4545
env_logger = { version = "0.9", optional = true }
4646
mimalloc = { version = "0.1", default-features = false }
4747

console_backend/setup.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@
77
def get_py_version_cfgs():
88
# For now each Cfg Py_3_X flag is interpreted as "at least 3.X"
99
version = sys.version_info[0:2]
10-
py3_min = 7
10+
py3_min = 9
1111
out_cfg = []
1212
for minor in range(py3_min, version[1] + 1):
1313
out_cfg.append(f"--cfg=Py_3_{minor}")
14-
1514
return out_cfg
1615

1716

0 commit comments

Comments
 (0)