#!/bin/bash
set -e

DO_PROMPT=true
if [ "$1" == "-y" ]; then
  DO_PROMPT=false
  shift
fi

goals="$@"

function usage() {
  echo
  echo "Usage: $0 [-y] <tasks>"
  echo "Runs a clean build of <tasks>"
  echo
  echo
  echo "For example:"
  echo
  echo "  $0 assembleDebug # or any other arguments you would normally give to ./gradlew"
  echo
  echo
  echo "-y"
  echo "    Don't prompt the user to confirm that they want to run a clean build"
  exit 1
}

if [ "$goals" == "" ]; then
  usage
fi

if [ ! -e "./gradlew" ]; then
  echo "Error; ./gradlew does not exist. Must cd to a dir containing a ./gradlew first"
  # so that this script knows which gradlew to use (in frameworks/support or frameworks/support/ui)
  exit 1
fi

function confirm() {
  # Confirm whether the user wants to run this script instead of diagnose-build-failure.sh
  # Recall that we already mentioned the existence of diagnose-build-failure.sh above
  echo
  echo "Press <Enter> to run a clean build (./gradlew --clean $goals) or Ctrl-C to cancel"
  if [ "$DO_PROMPT" == "true" ]; then
    read response
  fi
}
confirm

scriptDir="$(cd $(dirname $0) && pwd)"
checkoutDir="$(cd $scriptDir/../.. && pwd)"
export OUT_DIR="$checkoutDir/out"

./gradlew --clean $goals
