32 lines
1.3 KiB
Bash
32 lines
1.3 KiB
Bash
#!/bin/sh
|
||
|
||
set -eu
|
||
|
||
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname "$0")" && pwd)"
|
||
PACKAGE_JSON_PATH="${SCRIPT_DIR}/../package.json"
|
||
|
||
if [ ! -f "${PACKAGE_JSON_PATH}" ]; then
|
||
echo "error: [version-sync][ios] 未找到 package.json: ${PACKAGE_JSON_PATH}"
|
||
exit 1
|
||
fi
|
||
|
||
PACKAGE_VERSION="$(/usr/bin/plutil -extract version raw -o - "${PACKAGE_JSON_PATH}" 2>/dev/null || true)"
|
||
|
||
if [ -z "${PACKAGE_VERSION}" ]; then
|
||
echo "error: [version-sync][ios] 无法从 package.json 读取 version: ${PACKAGE_JSON_PATH}"
|
||
exit 1
|
||
fi
|
||
|
||
MARKETING_VERSION_VALUE="${MARKETING_VERSION:-}"
|
||
if [ -z "${MARKETING_VERSION_VALUE}" ]; then
|
||
echo "error: [version-sync][ios] MARKETING_VERSION 为空,无法校验。target=${TARGET_NAME:-unknown}, configuration=${CONFIGURATION:-unknown}"
|
||
exit 1
|
||
fi
|
||
|
||
if [ "${MARKETING_VERSION_VALUE}" != "${PACKAGE_VERSION}" ]; then
|
||
echo "error: [version-sync][ios] 版本不一致:target=${TARGET_NAME:-unknown}, configuration=${CONFIGURATION:-unknown}, MARKETING_VERSION=${MARKETING_VERSION_VALUE}, package.json version=${PACKAGE_VERSION}。请在 Xcode Build Settings 中将 MARKETING_VERSION 同步为 ${PACKAGE_VERSION}。"
|
||
exit 1
|
||
fi
|
||
|
||
echo "[version-sync][ios] target=${TARGET_NAME:-unknown} MARKETING_VERSION=${MARKETING_VERSION_VALUE} 与 package.json version 一致"
|