mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-01-19 21:37:57 +08:00
cleaning up dummymodule generation
This commit is contained in:
parent
a5cac1aa19
commit
503b802faf
@ -4080,18 +4080,18 @@
|
||||
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/7b/c1/2dfb7c5fc6a31dd4ac4be9ef69bb",
|
||||
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/af/9b/8de9876d0e3db5ccc49ce80c8e2a",
|
||||
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/16/63/7bedf858ae0dc1e91acf76c1cbd6",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/76/d8/e2d3ae9228e1dd7b8fdbfcb676e0",
|
||||
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/b9/94/14e96f6497e7d79148194ee6a7cb",
|
||||
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/cc/d0/f0c1c32c948f5349e91071107d9a",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/51/2c/23125061df4f8d2c62bac5787979",
|
||||
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/4c/2e/475331e7531640a05e43b4a08120",
|
||||
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/fc/34/1623d3a8d0ff13a71f819300c091",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/dd/8d/c73ee71bfd88d0af120ff17d551b",
|
||||
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/fb/bd/4395fa6dc06f077fe0cc5c5b4be1",
|
||||
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/84/38/e6f2c8c7607161c76e7c2d65ffd1",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/7b/ea/d4b485f9f702619046631f74fcc2",
|
||||
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/18/4a/3df0a4f45e6aeb92341194b3405c",
|
||||
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/08/dd/98f18c4d39850dafbf3efdfbc305",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/bb/dc/546b55bf1e7cfa297dbc74f3b335",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/83/8a/bb8485797aae51bca7edcf62dc96",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/d1/2d/9850c8bc21b31c627386fa44c96a",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/b4/fb/efce666ea6a479f1310d9aa27300",
|
||||
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/14/b1/12cff0cf6314c5476e6c7f6920a5",
|
||||
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/75/c7/48d7c37f280b875e398cb340f533",
|
||||
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/07/ea/fc994e8da3d8eb2d397a84e0c375",
|
||||
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/0f/08/4c5d8367112ee73bc9d239e2b05a",
|
||||
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/98/32/43c61f1e11520f764158cf0e76d2",
|
||||
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ca/65/cba463f21a8f76c5bbfe27cae124",
|
||||
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/73/20/119211f1700bb5a410cedf4e76f2",
|
||||
@ -4108,14 +4108,14 @@
|
||||
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/90/9b/94f733c3a48691e02240e04dc792",
|
||||
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/2e/c7/873af48627997b6fab4b2c4ba6bc",
|
||||
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/3a/94/4780fada10f0fc3f43a54f29c86f",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/e5/c9/1fafb53497e7d4ff19ecddc31d09",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/98/26/04e281a4cfa6a334abcb7e79dcbe",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/46/8b/eaee1191df159ad37a437429bbd9",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/82/fc/bbd1be0784b9d4ad46aa7da5dc24",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/c7/e7/a74ee82202fb7ae828f5066d1c79",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/f5/c3/eac894e0bfaacf4ec4740d54869d",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/d1/9f/f5e35440c800af9f002c795a2814",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/ff/fc/b6ff2a5bf8c73e1a5fa987944548",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/4f/69/a8254d42f8347e4951fc479a1d39",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/49/1a/d361e1f0f1d0d8f68fb2b3f8e2f5",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/33/34/524165a684cc56828dc7cb1be254",
|
||||
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/45/9c/def4dc35037b5da3b43a85473cda",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/6e/8b/60bbd66f58dd133af1904420905d",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/e8/dd/0ed0c7ef302308d47c2e898f46f9",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/5c/13/53ebf825ed88053908d7952359f0",
|
||||
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/c1/e4/c1a3657c0e255d5e348436b374c7",
|
||||
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/52/c6/c11130af7b10d6c0321add5518fa",
|
||||
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/38/c3/1dedd5e74f2508efc5974c8815a1",
|
||||
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/4e/07/87dd93e7ef29b8b78d0b4791d6f8",
|
||||
|
||||
5
.idea/dictionaries/ericf.xml
generated
5
.idea/dictionaries/ericf.xml
generated
@ -113,6 +113,7 @@
|
||||
<w>appengine</w>
|
||||
<w>appiconset</w>
|
||||
<w>appid</w>
|
||||
<w>appintent</w>
|
||||
<w>appintentsmetadataprocessor</w>
|
||||
<w>appinvite</w>
|
||||
<w>appkit</w>
|
||||
@ -121,12 +122,14 @@
|
||||
<w>appletvos</w>
|
||||
<w>appletvsimulator</w>
|
||||
<w>appmode</w>
|
||||
<w>appmodeselector</w>
|
||||
<w>appname</w>
|
||||
<w>appnameupper</w>
|
||||
<w>appnow</w>
|
||||
<w>appspot</w>
|
||||
<w>appstate</w>
|
||||
<w>appstore</w>
|
||||
<w>appsubsystem</w>
|
||||
<w>apptime</w>
|
||||
<w>apptimer</w>
|
||||
<w>apptimers</w>
|
||||
@ -1546,6 +1549,7 @@
|
||||
<w>libxm</w>
|
||||
<w>libxmu</w>
|
||||
<w>libxz</w>
|
||||
<w>lifecyclelog</w>
|
||||
<w>linbeast</w>
|
||||
<w>lindex</w>
|
||||
<w>lindexorig</w>
|
||||
@ -1740,6 +1744,7 @@
|
||||
<w>modders</w>
|
||||
<w>modename</w>
|
||||
<w>modestr</w>
|
||||
<w>modetype</w>
|
||||
<w>modeval</w>
|
||||
<w>modpack</w>
|
||||
<w>modstr</w>
|
||||
|
||||
112
Makefile
112
Makefile
@ -150,8 +150,10 @@ clean-list:
|
||||
# Build/update dummy python modules.
|
||||
# IMPORTANT - building this target can kick off full builds/cleans and so
|
||||
# it should not be built in parallel with other targets.
|
||||
# See py_check_prepass target for more info.
|
||||
dummymodules: build/dummymodules/.dummy_modules_state
|
||||
# See py_check_prereqs target for more info.
|
||||
dummymodules: prereqs meta
|
||||
@tools/pcommand lazybuild dummymodules_src $(LAZYBUILDDIR)/$@ \
|
||||
rm -rf build/dummymodules \&\& ./tools/pcommand gen_dummy_modules
|
||||
|
||||
dummymodules-clean:
|
||||
rm -rf build/dummymodules
|
||||
@ -698,7 +700,7 @@ format-makefile: prereqs
|
||||
################################################################################
|
||||
|
||||
# Run all project checks. (static analysis)
|
||||
check: py_check_prepass
|
||||
check: py_check_prereqs
|
||||
# TEMP - disabling some checks during 1.7.20 refactor.
|
||||
@$(DMAKE) -j$(CPUS) update-check cpplint mypy
|
||||
@tools/pcommand echo SGRN BLD ALL CHECKS PASSED!
|
||||
@ -706,7 +708,7 @@ check: py_check_prepass
|
||||
# @tools/pcommand echo SGRN BLD ALL CHECKS PASSED!
|
||||
|
||||
# Same as check but no caching (all files are checked).
|
||||
check-full: py_check_prepass
|
||||
check-full: py_check_prereqs
|
||||
# TEMP - disabling some checks during 1.7.20 refactor.
|
||||
@$(DMAKE) -j$(CPUS) update-check cpplint-full mypy-full
|
||||
@tools/pcommand echo SGRN BLD ALL CHECKS PASSED!
|
||||
@ -714,7 +716,7 @@ check-full: py_check_prepass
|
||||
# @tools/pcommand echo SGRN BLD ALL CHECKS PASSED!
|
||||
|
||||
# Same as 'check' plus optional/slow extra checks.
|
||||
check2: py_check_prepass
|
||||
check2: py_check_prereqs
|
||||
# TEMP - disabling some during 1.7.20 refactor.
|
||||
@$(DMAKE) -j$(CPUS) update-check cpplint mypy
|
||||
@tools/pcommand echo SGRN BLD ALL CHECKS PASSED!
|
||||
@ -723,7 +725,7 @@ check2: py_check_prepass
|
||||
|
||||
# Same as check2 but no caching (all files are checked).
|
||||
# TEMP - disabling some checks during 1.7.20 refactor.
|
||||
check2-full: py_check_prepass
|
||||
check2-full: py_check_prereqs
|
||||
@$(DMAKE) -j$(CPUS) update-check cpplint-full mypy-full
|
||||
@tools/pcommand echo SGRN BLD ALL CHECKS PASSED!
|
||||
# @$(DMAKE) -j$(CPUS) update-check cpplint-full pylint-full mypy-full \
|
||||
@ -739,45 +741,42 @@ cpplint-full: prereqs meta
|
||||
@tools/pcommand cpplint -full
|
||||
|
||||
# Run Pylint checks on all Python Code.
|
||||
pylint: py_check_prepass
|
||||
pylint: py_check_prereqs
|
||||
@tools/pcommand pylint
|
||||
|
||||
# Run Pylint checks without caching (all files are checked).
|
||||
pylint-full: py_check_prepass
|
||||
pylint-full: py_check_prereqs
|
||||
@tools/pcommand pylint -full
|
||||
|
||||
# Run Mypy checks on all Python code.
|
||||
mypy: py_check_prepass
|
||||
mypy: py_check_prereqs
|
||||
@tools/pcommand mypy
|
||||
|
||||
# Run Mypy checks without caching (all files are checked).
|
||||
mypy-full: py_check_prepass
|
||||
mypy-full: py_check_prereqs
|
||||
@tools/pcommand mypy -full
|
||||
|
||||
# Run Mypy checks on all Python code using daemon mode.
|
||||
dmypy: py_check_prepass
|
||||
dmypy: py_check_prereqs
|
||||
@tools/pcommand dmypy
|
||||
|
||||
# Stop the mypy daemon
|
||||
dmypy-stop: py_check_prepass
|
||||
dmypy-stop: py_check_prereqs
|
||||
@tools/pcommand dmypy -stop
|
||||
|
||||
# Run PyCharm checks on all Python code.
|
||||
pycharm: py_check_prepass
|
||||
pycharm: py_check_prereqs
|
||||
@tools/pcommand pycharm
|
||||
|
||||
# Run PyCharm checks without caching (all files are checked).
|
||||
pycharm-full: py_check_prepass
|
||||
pycharm-full: py_check_prereqs
|
||||
@tools/pcommand pycharm -full
|
||||
|
||||
# Run extra mypy checks with various dependency permutations.
|
||||
# ensures packages don't depend on thing they're not supposed to.
|
||||
depchecks: py_check_prepass
|
||||
depchecks: py_check_prereqs
|
||||
@tools/pcommand depchecks
|
||||
|
||||
featuresettest: py_check_prepass
|
||||
echo WOULD DO FS
|
||||
|
||||
# Build prerequisites needed for python checks.
|
||||
#
|
||||
# IMPORTANT - this target may kick off new meta/asset/binary builds/cleans as
|
||||
@ -790,63 +789,12 @@ featuresettest: py_check_prepass
|
||||
# others (such as by the 'check-full' target) the parent target should
|
||||
# explicitly built this beforehand to ensure it does not happen during the
|
||||
# parallel part.
|
||||
# Note to self: Originally prereqs and meta were listed as deps of
|
||||
# .dummy_modules_state, but because prereqs has no output dependencies
|
||||
# it always fires which meant dummy modules would get rebuilt every run.
|
||||
# This config should do the right thing without violating the above rules.
|
||||
py_check_prepass: prereqs meta
|
||||
@$(MAKE) dummymodules
|
||||
|
||||
# The following section is auto-generated; do not edit by hand.
|
||||
# __AUTOGENERATED_DUMMY_MODULES_BEGIN__
|
||||
|
||||
# Update dummy Python modules when source files contributing to them change.
|
||||
build/dummymodules/.dummy_modules_state: \
|
||||
src/ballistica/base/python/class/python_class_app_timer.cc \
|
||||
src/ballistica/base/python/class/python_class_context_call.cc \
|
||||
src/ballistica/base/python/class/python_class_context_ref.cc \
|
||||
src/ballistica/base/python/class/python_class_display_timer.cc \
|
||||
src/ballistica/base/python/class/python_class_feature_set_data.cc \
|
||||
src/ballistica/base/python/class/python_class_simple_sound.cc \
|
||||
src/ballistica/base/python/class/python_class_vec3.cc \
|
||||
src/ballistica/base/python/methods/python_methods_app.cc \
|
||||
src/ballistica/base/python/methods/python_methods_graphics.cc \
|
||||
src/ballistica/base/python/methods/python_methods_misc.cc \
|
||||
src/ballistica/classic/python/methods/python_methods_classic.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_activity_data.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_base_timer.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_input_device.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_material.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_node.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_scene_collision_mesh.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_scene_data_asset.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_scene_mesh.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_scene_sound.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_scene_texture.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_scene_timer.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_session_data.cc \
|
||||
src/ballistica/scene_v1/python/class/python_class_session_player.cc \
|
||||
src/ballistica/scene_v1/python/methods/python_methods_assets.cc \
|
||||
src/ballistica/scene_v1/python/methods/python_methods_input.cc \
|
||||
src/ballistica/scene_v1/python/methods/python_methods_networking.cc \
|
||||
src/ballistica/scene_v1/python/methods/python_methods_scene.cc \
|
||||
src/ballistica/template_fs/python/class/python_class_hello.cc \
|
||||
src/ballistica/template_fs/python/methods/python_methods_template_fs.cc \
|
||||
src/ballistica/ui_v1/python/class/python_class_ui_mesh.cc \
|
||||
src/ballistica/ui_v1/python/class/python_class_ui_sound.cc \
|
||||
src/ballistica/ui_v1/python/class/python_class_ui_texture.cc \
|
||||
src/ballistica/ui_v1/python/class/python_class_widget.cc \
|
||||
src/ballistica/ui_v1/python/methods/python_methods_ui_v1.cc
|
||||
@tools/pcommand with_build_lock gen_dummy_modules_lock \
|
||||
rm -rf build/dummymodules \&\& mkdir -p build/dummymodules \
|
||||
\&\& ./tools/pcommand gen_dummy_modules \
|
||||
\&\& touch build/dummymodules/.dummy_modules_state
|
||||
# __AUTOGENERATED_DUMMY_MODULES_END__
|
||||
py_check_prereqs: dummymodules
|
||||
|
||||
# Tell make which of these targets don't represent files.
|
||||
.PHONY: check check-full check2 check2-full \
|
||||
cpplint cpplint-full pylint pylint-full mypy \
|
||||
mypy-full dmypy dmypy-stop pycharm pycharm-full py_check_prepass
|
||||
mypy-full dmypy dmypy-stop pycharm pycharm-full py_check_prereqs
|
||||
|
||||
|
||||
################################################################################
|
||||
@ -864,39 +812,35 @@ build/dummymodules/.dummy_modules_state: \
|
||||
TEST_TARGET ?= tests
|
||||
|
||||
# Run all tests. (live execution verification)
|
||||
test: py_check_prepass
|
||||
test: py_check_prereqs
|
||||
@tools/pcommand echo BLU Running all tests...
|
||||
@tools/pcommand pytest -v $(TEST_TARGET)
|
||||
|
||||
test-verbose: py_check_prepass
|
||||
test-verbose: py_check_prereqs
|
||||
@tools/pcommand echo BLU Running all tests...
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug -s -vv $(TEST_TARGET)
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug \
|
||||
-s -vv $(TEST_TARGET)
|
||||
|
||||
# Run tests with any caching disabled.
|
||||
test-full: test
|
||||
|
||||
# Individual test with extra output enabled.
|
||||
test-assetmanager:
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug -s -vv \
|
||||
tests/test_babase/test_assetmanager.py::test_assetmanager
|
||||
|
||||
# Individual test with extra output enabled.
|
||||
# Shortcut to test efro.message only.
|
||||
test-message:
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug -s -vv \
|
||||
tests/test_efro/test_message.py
|
||||
|
||||
# Individual test with extra output enabled.
|
||||
# Shortcut to test efro.dataclassio only.
|
||||
test-dataclassio:
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug -s -vv \
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug -s -vv \
|
||||
tests/test_efro/test_dataclassio.py
|
||||
|
||||
# Individual test with extra output enabled.
|
||||
# Shortcut to test efro.rpc only.
|
||||
test-rpc:
|
||||
@tools/pcommand pytest -o log_cli=true -o log_cli_level=debug -s -vv \
|
||||
tests/test_efro/test_rpc.py
|
||||
|
||||
# Tell make which of these targets don't represent files.
|
||||
.PHONY: test test-full test-assetmanager
|
||||
.PHONY: test test-verbose test-full test-message test-dataclassio test-rpc
|
||||
|
||||
|
||||
################################################################################
|
||||
|
||||
5
ballisticakit-cmake/.idea/dictionaries/ericf.xml
generated
5
ballisticakit-cmake/.idea/dictionaries/ericf.xml
generated
@ -75,15 +75,18 @@
|
||||
<w>apost</w>
|
||||
<w>appcomponent</w>
|
||||
<w>appconfig</w>
|
||||
<w>appintent</w>
|
||||
<w>appintentsmetadataprocessor</w>
|
||||
<w>appletvos</w>
|
||||
<w>appletvsimulator</w>
|
||||
<w>appmode</w>
|
||||
<w>appmodeselector</w>
|
||||
<w>appname</w>
|
||||
<w>appnameupper</w>
|
||||
<w>appnow</w>
|
||||
<w>appspot</w>
|
||||
<w>appstate</w>
|
||||
<w>appsubsystem</w>
|
||||
<w>apptime</w>
|
||||
<w>apptimer</w>
|
||||
<w>apptimers</w>
|
||||
@ -886,6 +889,7 @@
|
||||
<w>libbzip</w>
|
||||
<w>libutf</w>
|
||||
<w>libuuid</w>
|
||||
<w>lifecyclelog</w>
|
||||
<w>lightshad</w>
|
||||
<w>linearsize</w>
|
||||
<w>linearstep</w>
|
||||
@ -994,6 +998,7 @@
|
||||
<w>modder</w>
|
||||
<w>modders</w>
|
||||
<w>modelview</w>
|
||||
<w>modetype</w>
|
||||
<w>modstr</w>
|
||||
<w>modtime</w>
|
||||
<w>moduletype</w>
|
||||
|
||||
@ -25,7 +25,6 @@ if TYPE_CHECKING:
|
||||
from typing import Any, Callable
|
||||
from concurrent.futures import Future
|
||||
|
||||
from efro.log import LogHandler
|
||||
import babase
|
||||
from babase import AppIntent, AppMode, AppSubsystem
|
||||
from babase._apputils import AppHealthMonitor
|
||||
|
||||
@ -8,7 +8,7 @@ from typing import TYPE_CHECKING
|
||||
import _babase
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from babase._app import App
|
||||
pass
|
||||
|
||||
|
||||
class AppSubsystem:
|
||||
|
||||
@ -31,7 +31,6 @@ def setup_asyncio() -> asyncio.AbstractEventLoop:
|
||||
|
||||
import _babase
|
||||
import babase
|
||||
from babase._mgen.enums import TimeType
|
||||
|
||||
assert _babase.in_logic_thread()
|
||||
|
||||
|
||||
@ -20,9 +20,7 @@ from typing import TYPE_CHECKING
|
||||
import _babase
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Sequence, Any
|
||||
|
||||
import babase
|
||||
pass
|
||||
|
||||
|
||||
def on_app_bootstrapping_complete() -> None:
|
||||
|
||||
@ -8,7 +8,6 @@ import threading
|
||||
from typing import TYPE_CHECKING
|
||||
|
||||
if TYPE_CHECKING:
|
||||
from typing import Any, Callable
|
||||
import socket
|
||||
|
||||
# Timeout for standard functions talking to the master-server/etc.
|
||||
|
||||
@ -103,12 +103,13 @@ class LazyBuildCategory(Enum):
|
||||
META = 'meta_src'
|
||||
CMAKE = 'cmake_src'
|
||||
WIN = 'win_src'
|
||||
DUMMYMODULES = 'dummymodules_src'
|
||||
|
||||
|
||||
def lazybuild(target: str, category: LazyBuildCategory, command: str) -> None:
|
||||
"""Run some lazybuild presets."""
|
||||
|
||||
# Everything possibly affecting meta builds.
|
||||
# Meta builds.
|
||||
if category is LazyBuildCategory.META:
|
||||
LazyBuildContext(
|
||||
target=target,
|
||||
@ -135,14 +136,14 @@ def lazybuild(target: str, category: LazyBuildCategory, command: str) -> None:
|
||||
'tools/batoolsinternal',
|
||||
'config/featuresets',
|
||||
],
|
||||
# Also enable an option to maintain a hash of all file paths
|
||||
# in the above sets and do a full-clean whenever that changes.
|
||||
# Takes care of orphaned files if remove a featureset/etc.
|
||||
manifest_file='.cache/lazybuild/meta_manifest',
|
||||
# Maintain a hash of all srcpaths and do a full-clean
|
||||
# whenever that changes. Takes care of orphaned files if a
|
||||
# featureset is removed/etc.
|
||||
manifest_file=f'.cache/lazybuild/manifest_{category.value}',
|
||||
command_fullclean='make meta-clean',
|
||||
).run()
|
||||
|
||||
# Everything possibly affecting CMake builds.
|
||||
# CMake builds.
|
||||
elif category is LazyBuildCategory.CMAKE:
|
||||
LazyBuildContext(
|
||||
target=target,
|
||||
@ -165,7 +166,7 @@ def lazybuild(target: str, category: LazyBuildCategory, command: str) -> None:
|
||||
command=command,
|
||||
).run()
|
||||
|
||||
# Everything possibly affecting Windows binary builds.
|
||||
# Windows binary builds.
|
||||
elif category is LazyBuildCategory.WIN:
|
||||
|
||||
def _win_dirfilter(root: str, dirname: str) -> bool:
|
||||
@ -192,7 +193,7 @@ def lazybuild(target: str, category: LazyBuildCategory, command: str) -> None:
|
||||
command=command,
|
||||
).run()
|
||||
|
||||
# Everything possibly affecting resource builds.
|
||||
# Resource builds.
|
||||
elif category is LazyBuildCategory.RESOURCES:
|
||||
LazyBuildContext(
|
||||
target=target,
|
||||
@ -208,7 +209,7 @@ def lazybuild(target: str, category: LazyBuildCategory, command: str) -> None:
|
||||
command=command,
|
||||
).run()
|
||||
|
||||
# Everything possibly affecting asset builds.
|
||||
# Asset builds.
|
||||
elif category is LazyBuildCategory.ASSETS:
|
||||
|
||||
def _filefilter(root: str, filename: str) -> bool:
|
||||
@ -234,6 +235,37 @@ def lazybuild(target: str, category: LazyBuildCategory, command: str) -> None:
|
||||
filefilter=_filefilter,
|
||||
).run()
|
||||
|
||||
# Dummymodule builds.
|
||||
elif category is LazyBuildCategory.DUMMYMODULES:
|
||||
|
||||
def _filefilter(root: str, filename: str) -> bool:
|
||||
# In our C++ sources, only look at stuff with 'python' in the
|
||||
# name.
|
||||
if root.startswith('ballistica'):
|
||||
return 'python' in filename
|
||||
|
||||
# In other srcpaths use everything.
|
||||
return True
|
||||
|
||||
LazyBuildContext(
|
||||
target=target,
|
||||
# This category builds binaries and other crazy stuff
|
||||
# so we definitely want to restrict to one at a time.
|
||||
buildlockname=category.value,
|
||||
srcpaths=[
|
||||
'config/featuresets',
|
||||
'tools/batools/dummymodule.py',
|
||||
'src/ballistica',
|
||||
],
|
||||
command=command,
|
||||
filefilter=_filefilter,
|
||||
# Maintain a hash of all srcpaths and do a full-clean
|
||||
# whenever that changes. Takes care of orphaned files if a
|
||||
# featureset is removed/etc.
|
||||
manifest_file=f'.cache/lazybuild/manifest_{category.value}',
|
||||
command_fullclean='make dummymodules-clean',
|
||||
).run()
|
||||
|
||||
else:
|
||||
assert_never(category)
|
||||
|
||||
|
||||
@ -886,7 +886,7 @@ class Generator:
|
||||
outfile.write(out)
|
||||
|
||||
|
||||
def generate(projroot: str) -> None:
|
||||
def generate_dummy_modules(projroot: str) -> None:
|
||||
"""Generate all dummy-modules."""
|
||||
|
||||
from batools.featureset import FeatureSet
|
||||
@ -970,6 +970,8 @@ def generate(projroot: str) -> None:
|
||||
featuresets = [f for f in featuresets if f.has_native_python_module]
|
||||
mnames: list[str] = [fs.name_python_binary_module for fs in featuresets]
|
||||
|
||||
os.makedirs('build/dummymodules', exist_ok=True)
|
||||
|
||||
gencount = 0
|
||||
for mname in mnames:
|
||||
gencount += 1
|
||||
|
||||
@ -979,12 +979,12 @@ def gen_python_init_module() -> None:
|
||||
def gen_dummy_modules() -> None:
|
||||
"""Generate all dummy modules."""
|
||||
from efro.error import CleanError
|
||||
from batools.dummymodule import generate
|
||||
from batools.dummymodule import generate_dummy_modules
|
||||
|
||||
if len(sys.argv) != 2:
|
||||
raise CleanError(f'Expected no args; got {len(sys.argv)-2}.')
|
||||
|
||||
generate(projroot=str(PROJROOT))
|
||||
generate_dummy_modules(projroot=str(PROJROOT))
|
||||
|
||||
|
||||
def version() -> None:
|
||||
|
||||
@ -21,17 +21,24 @@ def generate_top_level_makefile(projroot: str, existing_data: str) -> str:
|
||||
assert isinstance(public, bool)
|
||||
|
||||
original = existing_data
|
||||
lines = original.splitlines()
|
||||
|
||||
auto_start = lines.index('# __AUTOGENERATED_DUMMY_MODULES_BEGIN__')
|
||||
auto_end = lines.index('# __AUTOGENERATED_DUMMY_MODULES_END__')
|
||||
# NOTE: no longer doing this; our dummy module generation stuff is
|
||||
# now a nice static lazybuild target. Can remove this whole file
|
||||
# soon if no other uses for it come up.
|
||||
if bool(False):
|
||||
lines = original.splitlines()
|
||||
|
||||
our_lines = [
|
||||
_get_dummy_module_target(projroot),
|
||||
]
|
||||
auto_start = lines.index('# __AUTOGENERATED_DUMMY_MODULES_BEGIN__')
|
||||
auto_end = lines.index('# __AUTOGENERATED_DUMMY_MODULES_END__')
|
||||
|
||||
filtered = lines[: auto_start + 1] + our_lines + lines[auto_end:]
|
||||
out = '\n'.join(filtered) + '\n'
|
||||
our_lines = [
|
||||
_get_dummy_module_target(projroot),
|
||||
]
|
||||
|
||||
filtered = lines[: auto_start + 1] + our_lines + lines[auto_end:]
|
||||
out = '\n'.join(filtered) + '\n'
|
||||
else:
|
||||
out = original
|
||||
|
||||
return out
|
||||
|
||||
|
||||
@ -86,13 +86,6 @@ class LazyBuildContext:
|
||||
# as dependency relationships in a Makefile.
|
||||
self.srcpaths_fullclean = srcpaths_fullclean
|
||||
self.command_fullclean = command_fullclean
|
||||
if (self.srcpaths_fullclean is None) != (
|
||||
self.command_fullclean is None
|
||||
):
|
||||
raise RuntimeError(
|
||||
'Must provide both srcpaths_fullclean and'
|
||||
' command_fullclean together'
|
||||
)
|
||||
|
||||
# We also support a 'manifest' file which is a hash of all filenames
|
||||
# processed as part of srcpaths OR srcpaths_fullclean. If defined,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user