#!/usr/bin/env bash
source "$(cd "$(dirname "$0")/.." && pwd)/scripts/_config.sh"
ENGINE_DIR="$REPO_ROOT/flexui-engine"
build_mode="debug"
skip_engine=false
while [[ $# -gt 0 ]]; do
case "$1" in
--no-engine|--skip-engine)
skip_engine=true
shift
;;
*)
build_mode="$1"
shift
;;
esac
done
log "Building HAP (hvigorw, mode=$build_mode)..."
build_mode_param=""
if [ "$build_mode" = "debug" ]; then
build_mode_param="-p buildMode=debug"
log "(hvigorw debug mode — FOOTSTONE_DLOG enabled)"
fi
if [ "$skip_engine" = "true" ]; then
log "Skipping flexui_engine HAR build (--no-engine)"
else
log "Building flexui_engine HAR (ensuring native .so is current)..."
build_engine_flag=""
[ "$build_mode" = "release" ] && build_engine_flag="--release"
"$REPO_ROOT/scripts/build-engine.sh" $build_engine_flag 2>&1 | tail -3
fi
log "Syncing dependencies..."
rm -rf "$REPO_ROOT/as_apis/oh_modules" "$REPO_ROOT/as_apis/build"
rm -rf "$ENGINE_DIR/.hvigor" "$ENGINE_DIR/entry/build" "$ENGINE_DIR/entry/oh_modules"
rm -rf "$ENGINE_DIR/oh_modules/.ohpm" "$ENGINE_DIR/oh_modules/.tmp"
cd "$ENGINE_DIR" && ohpm install --all 2>&1 | tail -1
cd "$ENGINE_DIR"
"$HVIGORW" $HVIGORW_ARGS $build_mode_param assembleHap --no-daemon 2>&1 | tail -10
log "HAP built: $(ls -lh "$HAP" | awk '{print $5}')"