diff --git a/build.sh b/build.sh index ee08da1..a968b5e 100644 --- a/build.sh +++ b/build.sh @@ -110,6 +110,22 @@ for mod_dir in "${WS_DIR}"/modules/pbl_*; do fi done +# ---- 8b. M9 覆盖层页面壳生成(构建产物,不入库)+ 一致性门禁 ---- +# 页面壳由 pbl_scense_ext 的生成器产出;产物目录 wwwroot/pbl_overlay/ 在模块仓 +# .gitignore 中被排除,因此必须在构建期生成,否则新克隆/新部署环境该目录为空、 +# /pbl_overlay/.ui 导航全量 404。位置:模块安装之后、模块 wwwroot 软链之前。 +OVERLAY_GEN="${WS_DIR}/modules/pbl_scense_ext/scripts/gen_overlay_pages.py" +[ -f "${OVERLAY_GEN}" ] || die "缺少覆盖层页面壳生成器: ${OVERLAY_GEN}(modules/pbl_scense_ext 未就位)" +log "生成 PBL 覆盖层页面壳: ${OVERLAY_GEN}" +if ! "${PY}" "${OVERLAY_GEN}"; then + die "覆盖层页面壳生成失败(gen_overlay_pages.py rc=$?):wwwroot/pbl_overlay/ 将为空,/pbl_overlay/.ui 全量 404,终止部署" +fi +log "覆盖层页面壳门禁校验(gen_overlay_pages.py --check)" +if ! "${PY}" "${OVERLAY_GEN}" --check; then + die "覆盖层页面壳门禁校验未通过(--check rc=$?):i18n zh/en key 不一致,或页面壳与 PAGES 注册表不一致,终止部署" +fi +log "覆盖层页面壳生成 + 门禁校验通过(12 个页面壳 / i18n key 一致)" + # ---- 9. 语法验证:全部 .py 跑 py_compile(QC 退回意见 #16)---- log "py_compile 全量语法验证" FAIL_SYNTAX=0