#!/usr/bin/env bash
# Build engine-test-demo (flexui-engine Test Lab) HAP and auto-install to device.
#
# 统一到根 build.sh 的入口:从仓库根执行 `./build.sh build-test` 即可完成
#   demo 构建(同步 engine-tests → rawfile + hvigorw assembleHap)→ 自动 hdc install。
# 底层复用 demos/engine-test-demo/scripts/build.sh(与直接进 demo 目录构建等价)。
#
# Usage: ./build.sh build-test
source "$(cd "$(dirname "$0")/.." && pwd)/scripts/_config.sh"

TEST_DEMO_DIR="$REPO_ROOT/demos/engine-test-demo"
TEST_DEMO_BUILD_SH="$TEST_DEMO_DIR/scripts/build.sh"
TEST_HAP="$TEST_DEMO_DIR/entry/build/default/outputs/default/entry-default-signed.hap"

if [ ! -f "$TEST_DEMO_BUILD_SH" ]; then
  err "engine-test-demo build script not found: $TEST_DEMO_BUILD_SH"
  exit 1
fi

log "Building engine-test-demo HAP (sync engine-tests → rawfile + assembleHap)..."
bash "$TEST_DEMO_BUILD_SH" build-hap

if [ ! -f "$TEST_HAP" ]; then
  err "HAP not found after build: $TEST_HAP"
  exit 1
fi

log "Installing engine-test-demo HAP on $DEVICE ..."
# hdc on Windows doesn't handle forward-slash absolute paths (D:/...) correctly.
# Use relative path from entry dir (与 scripts/install.sh 一致).
_hap_rel="build/default/outputs/default/entry-default-signed.hap"
cd "$TEST_DEMO_DIR/entry"
hdc -t "$DEVICE" install -r "$_hap_rel" 2>&1
log "build-test done: built + installed ($TEST_HAP)"