From fa7ade1e99654fac9461d3bf0a2f6f0e642a4f96 Mon Sep 17 00:00:00 2001 From: Eric Froemling Date: Thu, 17 Jun 2021 14:50:15 -0500 Subject: [PATCH] adding public meta output to efrocache --- .efrocachemap | 34 ++++++++++--------- .idea/dictionaries/ericf.xml | 2 ++ .../.idea/dictionaries/ericf.xml | 2 ++ src/meta/Makefile | 12 +++++++ tools/batools/metamakefile.py | 17 +++++----- tools/batools/pcommand.py | 2 +- 6 files changed, 44 insertions(+), 25 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index 8d85f947..32fba320 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -3942,18 +3942,18 @@ "build/prefab/full/linux_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/9c/7b/ac1a200be0f37078af0991faca3b", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a4/91/8d8a90a2ccd3aa7e51a62dcd7d7a", "build/prefab/full/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fb/4f/deef20e32ad1a92c79758cd4252d", - "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/1e/0f/e5e8b4f0c2da33e0d0f9fdceb434", + "build/prefab/full/mac_arm64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/57/57/e7c461b3acb74b44ef632d70b038", "build/prefab/full/mac_arm64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/89/73/9bcb6c8f0a60f6a9c2278c039f58", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/bb/06/7c54efe3d808ecff434d6d77c7e9", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c8/14/6388483c3095b8837b3c280edc14", "build/prefab/full/mac_arm64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/1d/61/2700666994aa453c37376288675e", - "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/3f/cf/169e47b79a3ae353db735621cbd9", + "build/prefab/full/mac_x86_64_gui/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/ce/61/ed63bff8c0c86a6d7983cbb6a9ed", "build/prefab/full/mac_x86_64_gui/release/ballisticacore": "https://files.ballistica.net/cache/ba1/9c/27/5c3e3eef62e64063b9f217212f33", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/57/93/29938d6f7b99d990dafeb1a5ce9f", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/84/28/43c6e51a3b7b03d21cf905afaa17", "build/prefab/full/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ab/23/4f9cfb8e92e80c18116c4e2dd934", - "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/50/00/9b08ec7ea6ab5bb23c5b14eb9660", - "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/e7/b9/f9090bb29c16c6a95f7021581a53", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/54/2d/4f334f63064c97ffd8c5dee1d45b", - "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/20/19/a418fe8b3a01729a8902acaa5acc", + "build/prefab/full/windows_x86_gui/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/19/65/a3c7eab1f7787d43f97db2ee5689", + "build/prefab/full/windows_x86_gui/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/20/3e/e61926b902880d81f543151a035b", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/b7/dd/43f65c2f58d3c52dbc76ee5c4b1d", + "build/prefab/full/windows_x86_server/release/dist/BallisticaCoreHeadless.exe": "https://files.ballistica.net/cache/ba1/d0/6a/2b34327d1f009652bd22dceaac9b", "build/prefab/lib/linux_arm64_gui/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/9a/32/bda06e355384dac2fc81c8357812", "build/prefab/lib/linux_arm64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/34/f6/b4db57144d47cfdb153dd4de6742", "build/prefab/lib/linux_arm64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/53/44/cf4405c2ebe2695d55858129d3fe", @@ -3970,12 +3970,14 @@ "build/prefab/lib/mac_x86_64_gui/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/b5/5b/0390ee8916f97d302cde3ea356bc", "build/prefab/lib/mac_x86_64_server/debug/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/7a/ee/8249ede29becc0cd41178924b6dc", "build/prefab/lib/mac_x86_64_server/release/libballisticacore_internal.a": "https://files.ballistica.net/cache/ba1/c0/5f/e89024a87dd092f6e0cc43afb707", - "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/12/95/bb99d1aa9225c9902fa96fbcc109", - "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/9a/8e/5937ca89f83a4468771f07f13896", - "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/8c/d6/d268622e403e38140a7dd0631f4d", - "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/74/a7/f7ea9d4c46be97c066b1ac1f6d67", - "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/f0/76/b6702722bb3b2024d23f02df0327", - "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/4c/b6/909765c4a84d6d32250364ba092b", - "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/48/52/332e822621a37a0ea035cb355004", - "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/31/b8/95ddc9030874bb4285606be2b0a6" + "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/f3/47/3b999db988c306973ae632578142", + "build/prefab/lib/windows/Debug_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/b6/e7/4f19d4f194b2ee54d36feb8f0be7", + "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/37/bd/9bf6782278baafda458855addeb2", + "build/prefab/lib/windows/Debug_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/ee/69/054d1f74863dcb4f5aa4e4ca6c93", + "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.lib": "https://files.ballistica.net/cache/ba1/d2/19/2b2a8e28a5af1b9b2fd025f8b70f", + "build/prefab/lib/windows/Release_Win32/BallisticaCoreGenericInternal.pdb": "https://files.ballistica.net/cache/ba1/af/f7/d719717515f8d838f6c7ddd232ea", + "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.lib": "https://files.ballistica.net/cache/ba1/1a/6d/730bae9f73df1d2db402a5657281", + "build/prefab/lib/windows/Release_Win32/BallisticaCoreHeadlessInternal.pdb": "https://files.ballistica.net/cache/ba1/3d/0f/4e38b3571a83cf2db579c7d27d7f", + "src/ballistica/generated/python_embedded/binding.inc": "https://files.ballistica.net/cache/ba1/77/d4/d205bab8219f99b5b24639a389d2", + "src/ballistica/generated/python_embedded/bootstrap.inc": "https://files.ballistica.net/cache/ba1/8d/96/c1516dee7d458c9065597e0aede6" } \ No newline at end of file diff --git a/.idea/dictionaries/ericf.xml b/.idea/dictionaries/ericf.xml index 5ec509ed..86dad171 100644 --- a/.idea/dictionaries/ericf.xml +++ b/.idea/dictionaries/ericf.xml @@ -685,6 +685,7 @@ ericf ericfroemling errcount + errname errno errored erroring @@ -1751,6 +1752,7 @@ ptypename publictab pubsync + pubtargets pucknode pulllist punchdir diff --git a/ballisticacore-cmake/.idea/dictionaries/ericf.xml b/ballisticacore-cmake/.idea/dictionaries/ericf.xml index 96079c97..a96404d8 100644 --- a/ballisticacore-cmake/.idea/dictionaries/ericf.xml +++ b/ballisticacore-cmake/.idea/dictionaries/ericf.xml @@ -316,6 +316,7 @@ envval ericf ericsson + errname erroring etcdec etcpack @@ -797,6 +798,7 @@ ptype ptypename publictab + pubtargets pulseaudio punchmomentumlinear punchthrough diff --git a/src/meta/Makefile b/src/meta/Makefile index 48748a5f..d7266e82 100644 --- a/src/meta/Makefile +++ b/src/meta/Makefile @@ -25,4 +25,16 @@ sources: \ # This section is autogenerated; do not edit by hand. #__AUTOGENERATED_PRIVATE_BEGIN__ + +# Note: we include our public targets in efrocache even +# though they are buildable in public. This allows us to +# fetch them on Windows to bootstrap binary CI builds in +# cases where we can't use our full Makefiles. + +efrocache-list: + @echo "../ballistica/generated/python_embedded/binding.inc" \ + "../ballistica/generated/python_embedded/bootstrap.inc" + +efrocache-build: sources + #__AUTOGENERATED_PRIVATE_END__ diff --git a/tools/batools/metamakefile.py b/tools/batools/metamakefile.py index 80b1cb4c..a93426ff 100755 --- a/tools/batools/metamakefile.py +++ b/tools/batools/metamakefile.py @@ -58,8 +58,7 @@ def _emit_group_build_lines(targets: List[Target], basename: str) -> List[str]: return out -def _emit_group_efrocache_lines(targets: List[Target], - basename: str) -> List[str]: +def _emit_group_efrocache_lines(targets: List[Target]) -> List[str]: """Gen a group clean target.""" out: List[str] = [] if not targets: @@ -76,7 +75,7 @@ def _emit_group_efrocache_lines(targets: List[Target], out.append('efrocache-list:\n\t@echo ' + ' \\\n '.join('"' + dst + '"' for dst in sorted(all_dsts)) + '\n') - out.append(f'efrocache-build: resources-{basename}\n') + out.append('efrocache-build: sources\n') return out @@ -177,6 +176,7 @@ def update(projroot: str, check: bool) -> None: # Public targets (full sources available in public) targets: List[Target] = [] + pubtargets = targets basename = 'public' _add_python_embedded_targets(targets) our_lines_public = (_empty_line_if(bool(targets)) + @@ -195,12 +195,13 @@ def update(projroot: str, check: bool) -> None: our_lines_private_1 = ( _empty_line_if(bool(targets)) + _emit_group_build_lines(targets, basename) + - ['#__EFROCACHE_TARGET__\n' + t.emit() for t in targets] + - _emit_group_efrocache_lines(targets, basename)) + ['#__EFROCACHE_TARGET__\n' + t.emit() for t in targets] + [ + '\n# Note: we include our public targets in efrocache even\n' + '# though they are buildable in public. This allows us to\n' + '# fetch them on Windows to bootstrap binary CI builds in\n' + '# cases where we can\'t use our full Makefiles.\n' + ] + _emit_group_efrocache_lines(pubtargets + targets)) all_dsts_private.update(t.dst for t in targets) - # NOTE: currently not efrocaching anything here; we'll need to - # add this makefile to the efrocache update if we ever do. - assert not targets # Private-internal targets (not available at all in public) targets = [] diff --git a/tools/batools/pcommand.py b/tools/batools/pcommand.py index d2944c71..2a420fe7 100644 --- a/tools/batools/pcommand.py +++ b/tools/batools/pcommand.py @@ -388,7 +388,7 @@ def upper() -> None: def efrocache_update() -> None: """Build & push files to efrocache for public access.""" from efrotools.efrocache import update_cache - makefile_dirs = ['', 'assets', 'resources'] + makefile_dirs = ['', 'assets', 'resources', 'src/meta'] update_cache(makefile_dirs)