#!/usr/bin/env bash set -Eeuo pipefail JOBS=3 while [[ $# -gt 0 ]]; do case "$1" in --jobs) JOBS="$2"; shift 2 ;; *) echo "未知参数:$1"; exit 2 ;; esac done ROOT="$(git rev-parse --show-toplevel)" cd "$ROOT" mkdir -p build-particle REPORT="build-particle/构建验证报告.txt" : > "$REPORT" exec > >(tee -a "$REPORT") 2>&1 # 环境文件内部会安全处理 nvm + nounset。 if [[ -f "$HOME/.maplibre-particle-env" ]]; then # shellcheck disable=SC1090 source "$HOME/.maplibre-particle-env" fi export CMAKE_BUILD_PARALLEL_LEVEL="$JOBS" export CTEST_PARALLEL_LEVEL="$JOBS" echo "=== MapLibreParticleLab 完整构建验证 ===" echo "HEAD:$(git rev-parse HEAD)" echo "并行度:$JOBS" echo "Node:$(node -v)" echo "npm:$(npm -v)" echo "Java:$(java -version 2>&1 | head -n1)" echo echo "[1/3] Linux OpenGL" cmake --preset linux-opengl cmake --build build-linux-opengl --target mbgl-render mbgl-render-test-runner -j "$JOBS" echo echo "[2/3] Android OpenGL Debug" ( cd "$ROOT/platform/android" RENDERER=opengl BUILDTYPE=Debug JOBS="$JOBS" make apackage ) echo echo "[3/3] Android Vulkan Debug" ( cd "$ROOT/platform/android" RENDERER=vulkan BUILDTYPE=Debug JOBS="$JOBS" make apackage ) cd "$ROOT" sed -i \ 's/- \[ \] Linux Native 构建/- [x] Linux Native 构建/; s/- \[ \] Android OpenGL 构建/- [x] Android OpenGL 构建/; s/- \[ \] Android Vulkan 构建/- [x] Android Vulkan 构建/' \ docs/50_Step记录/STEP-000_完整环境初始化_v1.md 2>/dev/null || true echo echo "全部构建验证完成。"