#!/usr/bin/env bash
# *****************************************************************************
# @author CsHeng
# @2017.9.14 init
#
# 简单禁用tinker标志位
#
#
# *****************************************************************************

# get current shell absolute dir
CWD=$(cd "$(dirname "$0")"; pwd)

# 根目录是脚本文件所在的上一级
PROJECT_BASE=${CWD}/../

GRADLE_FILE=${PROJECT_BASE}/gradle.properties

APK_CHANNEL_PATH=${CWD}/apk-channel

OS=`uname`
case ${OS} in
    Darwin) VERSION_CODE=`grep -r versionCode ${PROJECT_BASE}/dependencies.gradle | awk '{print $4}'`;;
    Linux) VERSION_CODE=`grep -r versionCode ${PROJECT_BASE}/dependencies.gradle | awk '{print $3}'`;;
esac

# 从根目录dependencies文件获取并使用版本来标识一个release
VERSION_NAME=`grep -r versionName ${PROJECT_BASE}/dependencies.gradle | awk -F '\"' '{print $2}'`

APP_RELEASE_ALL=${PROJECT_BASE}/release-app/
APP_RELEASE_BASE=${APP_RELEASE_ALL}/${VERSION_NAME}_${VERSION_CODE}

APP_CHANNEL_BASE=${APP_RELEASE_BASE}/channel/
APP_TINKER_BASE=${APP_RELEASE_BASE}/tinker/
TINKER_BAK_APK_BASE=${PROJECT_BASE}/app/build/bakApk/
PATCH_OUTPUT=${PROJECT_BASE}/app/build/outputs/patch/

CMD_GRADLE_SYNC="${PROJECT_BASE}/gradlew --recompile-scripts"

# 根据自己的需求，是要以哪个flavor为基准打包，我只需要flavor为publish的release
# CMD_GRADLE_RELEASE=${PROJECT_BASE}/gradlew assembleRelease
CMD_GRADLE_RELEASE="${PROJECT_BASE}/gradlew -b ${PROJECT_BASE}/build.gradle assemblePublishRelease --parallel"

# 找到自己的build命令
CMD_GRADLE_PATCH="${PROJECT_BASE}/gradlew -b ${PROJECT_BASE}/build.gradle buildTinkerPatchPublishRelease --parallel"

# 打channel release包的apk应该以tinker打基准包的那个apk为准，找出文件名包含flavor publish 的apk
# APP_RELEASE_FILE=${PROJECT_BASE}/release-app/${versionName}_${versionCode}/patch/app-xxxxxx-gitsha/app-publish-release.apk
# [ -f ${APP_RELEASE_BASE} ] && APP_RELEASE_FILE=`find ${APP_RELEASE_BASE} -type f -name '*publish*.apk'`
APP_RELEASE_FILE=`find ${APP_RELEASE_BASE} -type f -name '*publish*.apk'`