You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.0 KiB
70 lines
2.0 KiB
#!/bin/bash
|
|
|
|
# Script to sync APP_NAME from .env to platform-specific configuration files
|
|
# Usage: ./scripts/set_app_name.sh
|
|
|
|
set -e
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Check if .env file exists
|
|
if [ ! -f .env ]; then
|
|
echo -e "${RED}Error: .env file not found!${NC}"
|
|
echo "Please create .env file first (copy from .env.example)"
|
|
exit 1
|
|
fi
|
|
|
|
# Read APP_NAME from .env
|
|
APP_NAME=$(grep "^APP_NAME=" .env | cut -d '=' -f2 | tr -d '"' | tr -d "'" | xargs)
|
|
|
|
if [ -z "$APP_NAME" ]; then
|
|
echo -e "${RED}Error: APP_NAME not found in .env file!${NC}"
|
|
exit 1
|
|
fi
|
|
|
|
echo -e "${GREEN}Found APP_NAME: ${APP_NAME}${NC}"
|
|
echo "Updating platform-specific files..."
|
|
|
|
# Update Android AndroidManifest.xml
|
|
ANDROID_MANIFEST="android/app/src/main/AndroidManifest.xml"
|
|
if [ -f "$ANDROID_MANIFEST" ]; then
|
|
# Use sed to replace android:label value
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
# macOS
|
|
sed -i '' "s/android:label=\"[^\"]*\"/android:label=\"$APP_NAME\"/" "$ANDROID_MANIFEST"
|
|
else
|
|
# Linux
|
|
sed -i "s/android:label=\"[^\"]*\"/android:label=\"$APP_NAME\"/" "$ANDROID_MANIFEST"
|
|
fi
|
|
echo -e "${GREEN}✓ Updated Android: $ANDROID_MANIFEST${NC}"
|
|
else
|
|
echo -e "${YELLOW}⚠ Android manifest not found: $ANDROID_MANIFEST${NC}"
|
|
fi
|
|
|
|
# Update macOS AppInfo.xcconfig
|
|
MACOS_CONFIG="macos/Runner/Configs/AppInfo.xcconfig"
|
|
if [ -f "$MACOS_CONFIG" ]; then
|
|
# Use sed to replace PRODUCT_NAME value
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
# macOS
|
|
sed -i '' "s/^PRODUCT_NAME = .*/PRODUCT_NAME = $APP_NAME/" "$MACOS_CONFIG"
|
|
else
|
|
# Linux
|
|
sed -i "s/^PRODUCT_NAME = .*/PRODUCT_NAME = $APP_NAME/" "$MACOS_CONFIG"
|
|
fi
|
|
echo -e "${GREEN}✓ Updated macOS: $MACOS_CONFIG${NC}"
|
|
else
|
|
echo -e "${YELLOW}⚠ macOS config not found: $MACOS_CONFIG${NC}"
|
|
fi
|
|
|
|
echo -e "${GREEN}Done! App name has been updated to: ${APP_NAME}${NC}"
|
|
echo ""
|
|
echo "Note: You may need to rebuild the app for changes to take effect:"
|
|
echo " flutter clean"
|
|
echo " flutter run"
|
|
|