"""Bind the known source build to local runtime publication, including hashes.""" def bind_runtime_publication(result): matched = False for check in result["checks"]: argv = check["argv"] if "source_build" in check["kinds"] and "cmake" in argv and "build_web_blender6" in argv and "web_engine" in argv: check["argv"] = ["python3", "my-tools/build_local_webengine.py"] check["cwd"] = "." matched = True if matched: result["dependencies"] = sorted(set(result["dependencies"] + ["my-tools/build_local_webengine.py", "tools/web/sync-web-engine-runtime.mjs"])) result["artifacts"] = sorted(set(result["artifacts"] + ["web/app/public/wasm-module-manifest.json", "web/app/public/vendor/blender/web_engine.js", "web/app/src/vendor/blender/web_engine.js", "web/app/src/vendor/blender/web_engine.wasm"])) if ("web/app/src/app/App.tsx" in result.get("dependencies", []) and any("chromium" in check.get("kinds", []) for check in result.get("checks", []))): dependencies = set(result.get("dependencies", [])) dependencies.update(("my-tools/wbv2_runtime_contract.py", "web/app/src/three-adapter/viewport.ts")) result["dependencies"] = sorted(dependencies) return result