#!/bin/bash

print_red_msg()
{
    echo -e "\e[01;31m$@\e[00m"
}

print_green_msg()
{
    echo -e "\e[01;32m$@\e[00m"
}

print_blue_msg()
{
    echo -e "\e[01;34m$@\e[00m"
}

# QSEE_REPOS
# TZ_IMAGE = 'trustzone_images' // only 8996_LA2 -> 'trustzone_images_LA2'
# TA_NAME2 = '$TA_NAME' // only QSEE3.0 (8939,8952,8976) pay_auth -> spay_auth
# TA_BUILD_CHIP = '$BUILD_CHIP' // 8936(8939), 8937(8953), 8952(8976), 8956(8976/8976pro)
TA_LOCAL='' # TA_LOCAL='tz_local_common' // pure_pay, napas_pay, mir_pay
if [[ "$BUILD_CHIP" == msm* ]]; then
	TZ_IMAGE='trustzone_images/core'
	TA_NAME2=$TA_NAME
	if [[ "$BUILD_CHIP" == msm8936 ]]; then
		TA_BUILD_CHIP='msm8939'
		if [[ "$TA_NAME" == pay_auth ]]; then
			TA_NAME2='spay_auth'
		fi
	elif [[ "$BUILD_CHIP" == msm8937 ]]; then
		TA_BUILD_CHIP='msm8953'
	elif [[ "$BUILD_CHIP" == msm8952 ]]; then
		TA_BUILD_CHIP='msm8976'
		if [[ "$TA_NAME" == pay_auth ]]; then
			TA_NAME2='spay_auth'
		fi
	elif [[ "$BUILD_CHIP" == msm8956 ]]; then
		if [[ "$SECURE_NAME" == QSEE_MSM8976PRO_TA ]]; then
			TA_BUILD_CHIP='msm8976pro'
		else
			TA_BUILD_CHIP='msm8976'
			if [[ "$TA_NAME" == pay_auth ]]; then
				TA_NAME2='spay_auth'
			fi
			if [[ "$TA_NAME" == pure_pay || "$TA_NAME" == napas_pay ]]; then
				TA_LOCAL='tz_local_common'
			fi
		fi
	elif [[ "$BUILD_CHIP" == msm8996 ]]; then
		if [[ "$TEMP_BUILD_CHIP" == msm8996_LA2 ]]; then
			TZ_IMAGE='trustzone_images_LA20/core'
			TA_BUILD_CHIP=$BUILD_CHIP
		else
			TA_BUILD_CHIP=$BUILD_CHIP
		fi
	else
		TA_BUILD_CHIP=$BUILD_CHIP
	fi
elif [[ "$BUILD_CHIP" == sdm* ]]; then
	if [[ "$BUILD_CHIP" == sdm660 || "$BUILD_CHIP" == sdm450 ]]; then
		TZ_IMAGE='trustzone_images/core'
		TA_BUILD_CHIP=$BUILD_CHIP
		TA_NAME2=$TA_NAME
	else
		TZ_IMAGE='trustzone_images/ssg'
		TA_BUILD_CHIP=$BUILD_CHIP
		TA_NAME2=$TA_NAME
	fi
	if [[ "$TA_NAME" == pure_pay || "$TA_NAME" == napas_pay || "$TA_NAME" == mir_pay || "$TA_NAME" == idemia_pay || "$TA_NAME" == bc_core ]]; then
		TA_LOCAL='tz_local_common'
	fi
elif [[ "$BUILD_CHIP" == sm* ]]; then
	TZ_IMAGE='trustzone_images/ssg'
	TA_BUILD_CHIP=$BUILD_CHIP
	TA_NAME2=$TA_NAME
	if [[ "$TA_NAME" == pure_pay || "$TA_NAME" == napas_pay || "$TA_NAME" == mir_pay || "$TA_NAME" == idemia_pay || "$TA_NAME" == bc_core ]]; then
		TA_LOCAL='tz_local_common'
	fi
else
	TA_BUILD_CHIP=$BUILD_CHIP
	if [[ "$TA_NAME" == pure_pay || "$TA_NAME" == napas_pay || "$TA_NAME" == mir_pay || "$TA_NAME" == idemia_pay || "$TA_NAME" == bc_core ]]; then
		TA_LOCAL='tz_local_common'
	fi
fi
_BUILD_CHIP_=`echo $TA_BUILD_CHIP | tr '[a-z]' '[A-Z]'`
print_green_msg "$_BUILD_CHIP_"
print_green_msg "$TZ_IMAGE"

print_green_msg "\n"
print_green_msg "Now Versioning $TA_NAME TA"
TA_CODE_BASE='//CONFIDENTIAL/BLOCKCHAIN'
COMMON_REPOS=("$TA_NAME" "tz_platform" "tz_spay_common" "$TA_LOCAL")
TBASE_REPOS=("$TA_NAME" "tz_platform" "tz_spay_platform")
QSEE_REPOS=("tz_platform" "tz_spay_common" "$TA_LOCAL" "tz_spay_platform" "$_BUILD_CHIP_/$TA_NAME" "$_BUILD_CHIP_/$TZ_IMAGE/bsp/trustzone/qsapps/$TA_NAME2" "$_BUILD_CHIP_/$TZ_IMAGE/securemsm")
BF_REPOS=("$TA_NAME" "tz_platform")
TA_ROOT='DEV'
CL_LIST=()
i=0

print_green_msg "Scanning COMMON repos for changelists"
for REPO in ${COMMON_REPOS[@]}; do
	CL_LIST[i++]=`p4 filelog $TA_CODE_BASE/$TA_ROOT/COMMON/$REPO/... | awk '{print $4}' | sort -u | grep -E '^[1-9]' | tail -1`
	print_blue_msg " * COMMON/$REPO = ${CL_LIST[i-1]}"
done

if [[ -n $TBASE ]]; then
	print_green_msg "Scanning TBASE repos for changelists"
	for REPO in ${TBASE_REPOS[@]}; do
		CL_LIST[i++]=`p4 filelog  $TA_CODE_BASE/$TA_ROOT/TBASE/$REPO/... | awk '{print $4}' | sort -u | grep -E '^[1-9]' | tail -1`
		print_blue_msg " * TBASE/$REPO = ${CL_LIST[i-1]}"
	done
elif [[ -n $BLOWFISH ]]; then
	print_green_msg "Scanning BlowFish repos for changelists"
	for REPO in ${BF_REPOS[@]}; do
		CL_LIST[i++]=`p4 filelog  $TA_CODE_BASE/$TA_ROOT/BLOWFISH/$REPO/... | awk '{print $4}' | sort -u | grep -E '^[1-9]' | tail -1`
		print_blue_msg " * BLOWFISH/$REPO = ${CL_LIST[i-1]}"
	done
else
	print_green_msg "Scanning QSEE repos for changelists"
	for REPO in ${QSEE_REPOS[@]}; do
		CL_LIST[i++]=`p4 filelog $TA_CODE_BASE/$TA_ROOT/QSEE/$REPO/... | awk '{print $4}' | sort -u | grep -E '^[1-9]' | tail -1`
		print_blue_msg " * QSEE/$REPO = ${CL_LIST[i-1]}"
	done
fi

export _VERSION_=`printf "%ld\n" ${CL_LIST[@]} | sort -u -r | head -1`
print_red_msg ""
print_red_msg "Vesion to use = $_VERSION_"

