#!/bin/bash -e
# uploadProguardMapping.sh
#
# Upload Proguard mapping to Sentry

sentryAuthToken=''
sentryOrg=''
sentryProject=''

argumentsCount=$#
for(( argumentIndex=1; argumentIndex<=argumentsCount; argumentIndex+=2 )); do
  argumentKey=${!argumentIndex}
  argumentValueIndex=$((argumentIndex+1))
  argumentValue=${!argumentValueIndex}
  if [[ $argumentKey == "--sentryAuthToken" ]]; then
    sentryAuthToken=$argumentValue
  elif [[ $argumentKey == "--sentryOrg" ]]; then
    sentryOrg=$argumentValue
  elif [[ $argumentKey == "--sentryProject" ]]; then
    sentryProject=$argumentValue
  else
    echo "Unknown argument $argumentKey"
    exit 1
  fi
done

if [ -z "$sentryAuthToken" ]
then
    echo "sentryAuthToken is not set"
    exit 1
fi
if [ -z "$sentryOrg" ]
then
    echo "sentryOrg is not set"
    exit 1
fi
if [ -z "$sentryProject" ]
then
    echo "sentryProject is not set"
    exit 1
fi

androidManifestFilePath="./android/app/build/intermediates/merged_manifests/release/AndroidManifest.xml"
proguardMappingFilePath="./android/app/build/outputs/mapping/release/mapping.txt"

uuid=$(./scripts/sentry/getProguardUUID.sh)

npx sentry-cli upload-proguard \
  --uuid $uuid $proguardMappingFilePath \
  --auth-token $sentryAuthToken \
  --org $sentryOrg \
  --project $sentryProject
