NLDClient-yudde/Tool/BuildTool/RemovePackage.sh

64 lines
1.5 KiB
Bash

#!/bin/bash
SHELL_DIR=$(dirname "$0")
echo "Change dir to $SHELL_DIR"
cd "$SHELL_DIR"
PROJECT_PATH=$(dirname "$(dirname "$PWD")")
# 设置asmdef文件的路径
ASMDEF_FILE="$PROJECT_PATH/ProjectNLD/Assets/PhxhSDK/Phxh/Phxh.asmdef"
# 设置AppleAuth的路径
APPLEAUTH_FILE="$PROJECT_PATH/ProjectNLD/Assets/PhxhSDK/ThirdParty/AppleSignInUnity"
echo "$ASMDEF_FILE"
# 检查文件是否存在
if [ ! -f "$ASMDEF_FILE" ]; then
echo "File not found!"
exit 1
fi
# 备份原始文件
cp "$ASMDEF_FILE" "$ASMDEF_FILE.bak"
# 使用awk删除包含"AppleAuth"的行及其前一行末尾的逗号(如果是唯一条目)或仅删除该行(如果后面有更多条目)
awk '
BEGIN {found=0}
{
if ($0 ~ /"AppleAuth"/) {
if ($0 ~ /,/) {
next
} else {
sub(/,$/, "", prev)
found=1
next
}
}
if (NR > 1) print prev
prev=$0
}
END { if (found == 0) print prev }
' "$ASMDEF_FILE" > "$ASMDEF_FILE.tmp"
# 检查操作是否成功
if [ $? -ne 0 ]; then
echo "Failed to process the JSON file"
mv "$ASMDEF_FILE.bak" "$ASMDEF_FILE" # 还原备份
exit 1
else
mv "$ASMDEF_FILE.tmp" "$ASMDEF_FILE"
# 删除备份文件
rm "$ASMDEF_FILE.bak"
echo "AppleAuth package has been removed from the asmdef file and backup has been deleted."
fi
# 删除AppleAuth资源包
if [ -d "$APPLEAUTH_FILE" ]; then
rm -rf "$APPLEAUTH_FILE"
echo "AppleAuth package has been deleted."
else
echo "AppleAuth package not found, nothing to delete."
fi