diff --git a/.efrocachemap b/.efrocachemap index faf5d72c..f973f9ea 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4080,18 +4080,18 @@ "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/2a/aa/c369bdf43bf67629eb5761fae81a", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ab/64/9d0c2baa399fe6bf2a661f3d183e", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/65/ac/6cec563654d4808a4c6c7f8309db", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/48/9e/fbd0e623e78dde2d959473b7f5d3", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/9d/b7/55c92967c15e8a5be8cf50a33440", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/eb/10/3d67fc054cb7a0f20452aa91a851", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e8/a8/054b58fbf37dac2e4b2130537a7f", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1c/a8/ee8714c70799190fe17fba5273a9", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c4/7c/c4a0410a869395d686a72304a4a6", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/0f/b5/7e240251975be5764770f883289b", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/a3/c6/8959929376bcc0e4bc2ce8fc94fa", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/78/1b/ae4c1d35d46ce77e5492024a9d8e", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ed/d3/c4b6cfdf979e57b652748e16ace1", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/5b/ab/09b87111f06b6fbe60834dfdf035", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e7/4f/d9e0cab203d543fa70fc98c3f129", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/60/47/5cbd8b00a2402e9cab06aa79bf76", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/77/31/5762a45185f1983c687c8e7b6d05", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/6e/56/fbd946df9d56c9798196382e9157", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/e1/d2/03df3e70b6c371e487683175b223", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/45/0e/9b863da0be1fabdcabd072bca578", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/3d/1b/1548aa964648d8bed95b56a53ad0", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/c7/70/095a87449d40c4a917e25cbc30b3", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/52/67/cc95bba09349890c314eb373c7ec", "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/d4/6a/dd303a200b98a56ba3b100277057", "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/fc/2c/2996c558fb408a548fdd37398c9a", "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/ed/28/b7a72be7ae1bd2b58dda4b6902a0", @@ -4108,14 +4108,14 @@ "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/71/f6/691482915ad58ea1e953cc23d74c", "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b8/2b/6ec8c78980a62e3e0ee4b36ece04", "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/4e/56/a95c987b2a371759896b037fea86", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/7c/05/307d4385504fe7d1cbd4ea7fadaf", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/a4/39/d8344c6f33f339de1efb99e0fdd1", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/e8/e5/63869a517a0e4dcbda2c1c3aacf4", - "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/57/e1/19eaebff357311115ddfb58fa8fb", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/92/64/95b869c5e858349f3c19f2327ae5", - "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/da/b0/e2572de1f166416912c5988bdb33", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/6e/2d/ed6f93f761764807f82c391a918b", - "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/0b/1d/c507949a217c9f0f9f9858390eff", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/20/6e/ffd05be2110604c656647cb29498", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/21/b4/34d175f3e03cd60b5b0a80ff0411", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/5d/1e/a46e76a565c993c171305207a48b", + "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/23/12/a5c1f831a3dc0d1a2546333fc198", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/7b/8c/02dc413e4a364f0263f13522e1f2", + "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/3a/fd/34cdf45e2ae2d4e25b55d7abe644", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/bf/e8/97539d73724b805e863e9b4aab0d", + "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/5e/3c/067e3cc1cb726679c35b2a6f5f99", "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/b4/3d/e352190a0e5673d101c0f3ee3ad2", diff --git a/tools/batools/pcommand2.py b/tools/batools/pcommand2.py index 976fb2e6..e402d795 100644 --- a/tools/batools/pcommand2.py +++ b/tools/batools/pcommand2.py @@ -302,3 +302,44 @@ def android_archive_unstripped_libs() -> None: ['tar', '-zcf', dstname + '.tgz', dstname], cwd=dst, check=True ) subprocess.run(['rm', dstpath], check=True) + + +def spinoff_test() -> None: + """Test spinoff functionality.""" + import os + import subprocess + + from efro.terminal import Clr + from efro.error import CleanError + + args = sys.argv[2:] + if len(args) != 1: + raise CleanError('Expected 1 arg.') + testtype = args[0] + if testtype == 'empty': + path = 'build/spinofftest/empty' + print( + f'{Clr.SBLU}{Clr.BLD}Running spinoff test' + f" {Clr.RST}{Clr.BLD}'{testtype}'{Clr.RST}{Clr.SBLU}{Clr.BLD}" + f'...{Clr.RST}', + flush=True, + ) + subprocess.run(['rm', '-rf', path], check=True) + subprocess.run( + [ + './tools/spinoff', + 'create', + 'SpinoffTest', + path, + '--featuresets', + 'none', + '--noninteractive', + ], + check=True, + ) + os.makedirs(path, exist_ok=True) + print(f'{Clr.BLU}Running spinoff update...{Clr.RST}', flush=True) + subprocess.run(['./tools/spinoff', 'update'], cwd=path, check=True) + subprocess.run(['make', 'cmake-binary'], cwd=path, check=True) + else: + raise CleanError(f"Invalid test type '{testtype}'.") diff --git a/tools/pcommand b/tools/pcommand index e1bd2c13..2e39eca9 100755 --- a/tools/pcommand +++ b/tools/pcommand @@ -122,6 +122,7 @@ from batools.pcommand2 import ( win_ci_binary_build, update_cmake_prefab_lib, android_archive_unstripped_libs, + spinoff_test, ) # pylint: enable=unused-import