#!/usr/bin/env bash # Creates an .env from ENV variables for use with react-native-config GOOGLE_JSON_FILE=$APPCENTER_SOURCE_DIRECTORY/android/app/google-services.json GOOGLE_PLIST_FILE=$APPCENTER_SOURCE_DIRECTORY/ios/GoogleService-Info.plist printf "%s\n\n" $APPCENTER_SOURCE_DIRECTORY if [ -e "$GOOGLE_JSON_FILE" ] then echo "Updating Google Json" echo "$GOOGLE_JSON" | base64 --decode > $GOOGLE_JSON_FILE sed -i -e 's/\\"/'\"'/g' $GOOGLE_JSON_FILE echo "File content:" cat $GOOGLE_JSON_FILE else echo "Creating and Updating Google Json" touch $GOOGLE_JSON_FILE echo "$GOOGLE_JSON" | base64 --decode > $GOOGLE_JSON_FILE sed -i -e 's/\\"/'\"'/g' $GOOGLE_JSON_FILE echo "File content:" cat $GOOGLE_JSON_FILE fi printf "google-services json file:\n" cat $GOOGLE_JSON_FILE if [ -e "$GOOGLE_PLIST_FILE" ] then echo "Updating Google Json" echo "$GOOGLE_PLIST" | base64 --decode > $GOOGLE_PLIST_FILE sed -i -e 's/\\"/'\"'/g' $GOOGLE_PLIST_FILE echo "File content:" cat $GOOGLE_PLIST_FILE else echo "Creating and Updating Google Plist" touch $GOOGLE_PLIST_FILE echo "$GOOGLE_PLIST" | base64 --decode > $GOOGLE_PLIST_FILE sed -i -e 's/\\"/'\"'/g' $GOOGLE_PLIST_FILE echo "File content:" cat $GOOGLE_PLIST_FILE fi printf "google-services plist file:\n" cat $GOOGLE_PLIST_FILE printf "Old .env file:\n" cat .env printf "Started script:\n" ENV_WHITELIST=${ENV_WHITELIST:-"/ACTIVITY|ANALYTICS|WEBSOCKET|BACKEND|API|TOKEN|PIN|USER|URL/"} printf "Creating an .env file with the following whitelist:\n" printf "%s\n\n" $ENV_WHITELIST set | egrep -e $ENV_WHITELIST | egrep -v "^_" | egrep -v "WHITELIST" | egrep -v "USER-DEFINED" > .env printf "\n.env created with contents:\n" cat .env printf "\nEND OF .env\n" #check if platform to be built for is android if [ "$PLATFORM" == "Android" ]; then echo "Building for Android" cd android && ./gradlew clean && cd .. elif [ "$PLATFORM" == "iOS" ]; then echo "Building for iOS" cd ios && pod install && cd .. fi