Files
workinf_Blender_Wasm/tools/web/install-web-engine-assets.sh
mes123456 7c16b279ae
Some checks failed
M6 deployable RC / quick (push) Has been cancelled
M6 deployable RC / chromium (push) Has been cancelled
M6 deployable RC / release (push) Has been cancelled
Advance M7 workflows and release operations
2026-08-15 17:43:53 -04:00

53 lines
2.4 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
single_build_dir="${WEB_ENGINE_SINGLE_BUILD_DIR:-${repo_root}/build_web-single}"
pthread_build_dir="${WEB_ENGINE_PTHREAD_BUILD_DIR:-${repo_root}/build_web-pthread}"
public_root="${WEB_ENGINE_PUBLIC_ROOT:-${repo_root}/web/app/public}"
manifest_path="${WEB_ENGINE_MANIFEST_PATH:-${public_root}/engine-manifest.json}"
if [[ "$(realpath -m "${single_build_dir}")" == "$(realpath -m "${pthread_build_dir}")" ]]; then
echo "single and pthread variants must come from independent build directories" >&2
exit 1
fi
for build_dir in "${single_build_dir}" "${pthread_build_dir}"; do
test -s "${build_dir}/web_engine.js"
test -s "${build_dir}/web_engine.wasm"
done
test -s "${manifest_path}"
staging_dir="$(mktemp -d "${TMPDIR:-/tmp}/blender-web-engine-install.XXXXXX")"
trap 'rm -rf "${staging_dir}"' EXIT
for variant in single pthread; do
mkdir -p "${staging_dir}/vendor/blender/${variant}"
done
cp "${single_build_dir}/web_engine.js" "${staging_dir}/vendor/blender/single/web_engine.js"
cp "${single_build_dir}/web_engine.wasm" "${staging_dir}/vendor/blender/single/web_engine.wasm"
cp "${pthread_build_dir}/web_engine.js" "${staging_dir}/vendor/blender/pthread/web_engine.js"
cp "${pthread_build_dir}/web_engine.wasm" "${staging_dir}/vendor/blender/pthread/web_engine.wasm"
cp "${manifest_path}" "${staging_dir}/engine-manifest.json"
node "${repo_root}/tools/web/update-engine-manifest.mjs" \
"${staging_dir}/engine-manifest.json" \
"${staging_dir}/vendor/blender/single" \
"${staging_dir}/vendor/blender/pthread"
node "${repo_root}/tools/web/check-manifest-assets.mjs" \
"${staging_dir}/engine-manifest.json" "${staging_dir}"
for variant in single pthread; do
mkdir -p "${public_root}/vendor/blender/${variant}"
install -m 0644 "${staging_dir}/vendor/blender/${variant}/web_engine.js" \
"${public_root}/vendor/blender/${variant}/web_engine.js"
install -m 0644 "${staging_dir}/vendor/blender/${variant}/web_engine.wasm" \
"${public_root}/vendor/blender/${variant}/web_engine.wasm"
done
install -m 0644 "${staging_dir}/engine-manifest.json" "${manifest_path}"
sha256sum \
"${public_root}/vendor/blender/single/web_engine.js" \
"${public_root}/vendor/blender/single/web_engine.wasm" \
"${public_root}/vendor/blender/pthread/web_engine.js" \
"${public_root}/vendor/blender/pthread/web_engine.wasm"