#!/bin/bash

##########################
### android-components ###
##########################

cd android-components

# compileSdkVersion
read -d '' p << 'EOF' || true
if (m/compileSdkVersion:\\s+(.*)$/) {
  print $1;
  exit;
}
EOF
needed=$(cat .config.yml | perl -ne "$p")
current=33
check_update_needed 'compileSdkVersion [android-components]' "$needed" "$current"


# targetSdkVersion
read -d '' p << 'EOF' || true
if (m/targetSdkVersion:\\s+(.*)$/) {
  print $1;
  exit;
}
EOF
needed=$(cat .config.yml | perl -ne "$p")
current=33
check_update_needed 'targetSdkVersion [android-components]' "$needed" "$current"


# minSdkVersion
read -d '' p << 'EOF' || true
if (m/minSdkVersion:\\s+(.*)$/) {
  print $1;
  exit;
}
EOF
needed=$(cat .config.yml | perl -ne "$p")
current=21
check_update_needed 'minSdkVersion [android-components]' "$needed" "$current"


# gradle
read -d '' p << 'EOF' || true
if (m|distributionUrl=https\\\\://services.gradle.org/distributions/gradle-(.*)-bin.zip|) {
  print $1;
  exit;
}
EOF
needed=$(cat gradle/wrapper/gradle-wrapper.properties | perl -ne "$p")
current='[% c("var/gradle_version") %]'
check_update_needed 'gradle [android-components]' "$needed" "$current"

cd ..


#############
### fenix ###
#############

cd fenix

# targetSdkVersion
read -d '' p << 'EOF' || true
if (m/const\\s+val\\s+targetSdkVersion\\s+=\\s+([^"]+)/) {
  print $1;
  exit;
}
EOF
needed=$(cat buildSrc/src/main/java/Config.kt | perl -ne "$p")
current=33
check_update_needed 'targetSdkVersion [fenix]' "$needed" "$current"


# compileSdkVersion
read -d '' p << 'EOF' || true
if (m/const\\s+val\\s+compileSdkVersion\\s+=\\s+([^"]+)/) {
  print $1;
  exit;
}
EOF
needed=$(cat buildSrc/src/main/java/Config.kt | perl -ne "$p")
current=33
check_update_needed 'compileSdkVersion [fenix]' "$needed" "$current"


# minSdkVersion
read -d '' p << 'EOF' || true
if (m/const\\s+val\\s+minSdkVersion\\s+=\\s+([^"]+)/) {
  print $1;
  exit;
}
EOF
needed=$(cat buildSrc/src/main/java/Config.kt | perl -ne "$p")
current=21
check_update_needed 'minSdkVersion [fenix]' "$needed" "$current"


# gradle
read -d '' p << 'EOF' || true
if (m|distributionUrl=https\\\\://services.gradle.org/distributions/gradle-(.*)-bin.zip|) {
  print $1;
  exit;
}
EOF
needed=$(cat gradle/wrapper/gradle-wrapper.properties | perl -ne "$p")
current='[% c("var/gradle_version") %]'
check_update_needed 'gradle [fenix]' "$needed" "$current"
