feat: 光环助手跳转链接规则优化 (补充跳转文档上传的脚本)
This commit is contained in:
71
scripts/upload_route_doc.sh
Executable file
71
scripts/upload_route_doc.sh
Executable 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"
|
||||
Reference in New Issue
Block a user