#!/bin/bash -e

# parameter
# - PRODUCTION_VERSION
# - PRODUCTION_IOS_VERSION
# - PRODUCTION_ANDROID_VERSION

# prepare environment
ROOT_DIRECTORY="$(readlink -f "$(dirname "$0")/..")"

# apply PRODUCTION_VERSION
if ! [[ -z $PRODUCTION_VERSION ]]; then
    perl -i -pe "s/(\"version\").*[^,\\n](,?)/\$1: \"$PRODUCTION_VERSION\"\$2/g" "$ROOT_DIRECTORY/package.json"
    perl -i -pe "s/(?<=\"name\": \"airbridge-react-native-sdk\",\n\s*\"version\": \")([^\"]+)/$PRODUCTION_VERSION/" "$ROOT_DIRECTORY/package-lock.json"

    cat changelog.md | grep '## Unreleased' && (
        echo 'error: if Unreleased is exist on CHANGELOG.md change version is not working'
    )
    CHANGELOG+="## $PRODUCTION_VERSION\n\n"
    CHANGELOG+='**CHANGED**\n'
    if ! [[ -z $PRODUCTION_IOS_VERSION ]]; then
        CHANGELOG+="* Update \`Airbridge iOS SDK\` to $PRODUCTION_IOS_VERSION\n"
    fi
    if ! [[ -z $PRODUCTION_ANDROID_VERSION ]]; then
        CHANGELOG+="* Update \`Airbridge Android SDK\` to $PRODUCTION_ANDROID_VERSION\n"
    fi
    CHANGELOG+='\n'
    perl -i -0pe "s/^/$CHANGELOG/g" "$ROOT_DIRECTORY/changelog.md"
fi

# apply PRODUCTION_IOS_VERSION
if ! [[ -z $PRODUCTION_IOS_VERSION ]]; then
    perl -i -pe "s/(\"ios_version\").*[^,\\n](,?)/\$1: \"$PRODUCTION_IOS_VERSION\"\$2/g" "$ROOT_DIRECTORY/airbridge_sdk.json"
fi

# apply PRODUCTION_ANDROID_VERSION
if ! [[ -z $PRODUCTION_ANDROID_VERSION ]]; then
    perl -i -pe "s/(\"android_version\").*[^,\\n](,?)/\$1: \"$PRODUCTION_ANDROID_VERSION\"\$2/g" "$ROOT_DIRECTORY/airbridge_sdk.json"
fi
