feat: 光环助手跳转链接规则优化 (补充跳转文档上传的脚本)

This commit is contained in:
chenjuntao
2024-12-31 16:16:45 +08:00
parent e4352590e9
commit 785f99f0ef

71
scripts/upload_route_doc.sh Executable file
View File

@ -0,0 +1,71 @@
#!/usr/bin/env bash
# @author juntao
# --- Configuration ---
SEARCH_DIR="app/build/generated/ksp/"
JSON_FILE_NAME="router-map-of-app.json"
UPLOAD_URL="https://app-api.ghzs6.com/app_router_map"
TOKEN="672b30260e33cf5e1540ff31"
VERSION=$(awk -v FS="versionName = " 'NF>1{print $2}' dependencies.gradle | sed "s/\"//g")
# --- End Configuration ---
# Do the build stuff to create a new JSON file
./gradlew clean
./gradlew assemblePublishCnRelease -PENABLE_ROUTE_DOC=true
# Find the JSON file
JSON_FILE=$(find "$SEARCH_DIR" -type f -path "*/resources/com/gh/gamecenter/route/docs/*" -name "$JSON_FILE_NAME" -print -quit)
# Check if jq is installed
if ! command -v jq &> /dev/null; then
echo "jq is not installed. Attempting to install..."
# Try to determine the operating system
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
# Assume Debian/Ubuntu
if command -v apt-get &> /dev/null; then
sudo apt-get update
sudo apt-get install -y jq
else
echo "Error: Could not determine package manager for Linux distribution."
exit 1
fi
elif [[ "$OSTYPE" == "darwin"* ]]; then
# Assume macOS (using Homebrew)
if command -v brew &> /dev/null; then
brew update
brew install jq
else
echo "Error: Homebrew is not installed on macOS. Please install it from https://brew.sh/"
exit 1
fi
else
echo "Error: Unsupported operating system: $OSTYPE"
exit 1
fi
# Verify jq installation
if ! command -v jq &> /dev/null; then
echo "Error: jq installation failed."
exit 1
fi
fi
# Check if the JSON file exists
if [ ! -f "$JSON_FILE" ]; then
echo "Error: JSON file not found: $JSON_FILE"
exit 1
fi
# Use jq to construct the required JSON structure
NEW_JSON=$(jq -n \
--arg version "$VERSION" \
--argjson router_map "$(cat "$JSON_FILE")" \
'{version: $version, router_map: $router_map}')
# Upload the new JSON using curl
curl -X POST \
-H "Content-Type: application/json" \
-H "TOKEN: $TOKEN" \
-d "$NEW_JSON" \
"$UPLOAD_URL"