-#!/bin/bash
+#!/bin/zsh
+
+echo "detecting shell:"
+if [[ -n ${ZSH_VERSION} ]] && [[ ! -z ${ZSH_VERSION} ]]; then
+ INDEX_START=1
+ INDEX_OFFSET=0
+ echo " using zsh $ZSH_VERSION, index starts at $INDEX_START"
+elif [[ -n $BASH_VERSION ]]; then
+ INDEX_START=0
+ INDEX_OFFSET=1
+ echo " using bash $BASH_VERSION, index starts at $INDEX_START"
+else
+ echo " unknown"
+ exit 1
+fi
function printc(){
color=$1
REFERENCE_MODE=0
ADDITIONAL=0
-if [ $# == "1" ]
+if [ $# = "1" ]
then
printc "lblue" "****************"
printc "lblue" " reference mode"
printc "lblue" "****************"
REFERENCE_MODE=1
-elif [ $# == "2" -a $2 == "list" ]
+elif [ $# = "2" -a $2 = "list" ]
then
REFERENCE_MODE=1
ADDITIONAL=1
TYPE=$1
-if [ $# == 3 ]
+if [ $# = 3 ]
then
TIZEN_SNAPSHOT=$2
TIZENX_SNAPSHOT=$3
-elif [ $# == 4 -a x"$4" == x"list" ]
+elif [ $# = 4 -a x"$4" = x"list" ]
then
ADDITIONAL=1
fi
then
rm -f tizen_build.xml
fi
- if [ $TYPE == "base" ]
+ if [ $TYPE = "base" ]
then
DOWNLOAD_T_URL="http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base/reference/build.xml"
else
then
rm -f tizen_x_build.xml
fi
- if [ $TYPE == "base" ]
+ if [ $TYPE = "base" ]
then
DOWNLOAD_T_URL="http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base-X/reference/build.xml"
else
}
function download_tizen_list(){
- if [ $TYPE == "base" ]
+ if [ $TYPE = "base" ]
then
DOWNLOAD_T_URL="http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base/tizen-base_${TIZEN_SNAPSHOT}/builddata/manifest/"
DOWNLOAD_E_URL=""
fi
printc "lgreen" "Making standard list..."
- xmlstarlet sel -t -m "//project" -c "." -n ${T_FILE} | sed -e "s/.\+ path=\"\(.\+\)\" revision=\"\(.\+\)\".\+$/\1 \2/" > tizen_${TIZEN_SNAPSHOT}_standard.lst
+ xmlstarlet sel -t -m "//project" -c "." -n ${T_FILE} | sed -r -e 's|.* path="(.*)" revision="(.*)".*|\1 \2|' > tizen_${TIZEN_SNAPSHOT}_standard.lst
if [ x"$E_FILE" != "x" ]
then
fi
printc "lgreen" "Making emulator list..."
- xmlstarlet sel -t -m "//project" -c "." -n ${E_FILE} | sed -e "s/.\+ path=\"\(.\+\)\" revision=\"\(.\+\)\".\+$/\1 \2/" > tizen_${TIZEN_SNAPSHOT}_emulator.lst
+ xmlstarlet sel -t -m "//project" -c "." -n ${E_FILE} | sed -r -e 's|.* path="(.*)" revision="(.*)".*|\1 \2|' > tizen_${TIZEN_SNAPSHOT}_emulator.lst
else
echo -n "" > tizen_${TIZEN_SNAPSHOT}_emulator.lst
fi
function download_tizenx_list(){
- if [ $TYPE == "base" ]
+ if [ $TYPE = "base" ]
then
DOWNLOAD_T_URL="http://download.tizen.org/snapshots/TIZEN/Tizen/Tizen-Base-X/tizen-base-x_${TIZENX_SNAPSHOT}/builddata/manifest/"
DOWNLOAD_E_URL=""
fi
printc "lgreen" "Making standard list..."
- xmlstarlet sel -t -m "//project" -c "." -n ${T_FILE} | sed -e "s/.\+ path=\"\(.\+\)\" revision=\"\(.\+\)\".\+$/\1 \2/" > tizenx_${TIZENX_SNAPSHOT}_standard.lst
+ xmlstarlet sel -t -m "//project" -c "." -n ${T_FILE} | sed -r -e 's|.* path="(.*)" revision="(.*)".*|\1 \2|' > tizenx_${TIZENX_SNAPSHOT}_standard.lst
if [ x"$E_FILE" != "x" ]
then
fi
printc "lgreen" "Making emulator list..."
- xmlstarlet sel -t -m "//project" -c "." -n ${E_FILE} | sed -e "s/.\+ path=\"\(.\+\)\" revision=\"\(.\+\)\".\+$/\1 \2/" > tizenx_${TIZENX_SNAPSHOT}_emulator.lst
+ xmlstarlet sel -t -m "//project" -c "." -n ${E_FILE} | sed -r -e 's|.* path="(.*)" revision="(.*)".*|\1 \2|' > tizenx_${TIZENX_SNAPSHOT}_emulator.lst
else
echo -n "" > tizenx_${TIZENX_SNAPSHOT}_emulator.lst
fi
rm -f tizenx_${TIZENX_SNAPSHOT}_emulator.lst
}
-if [ $REFERENCE_MODE == 1 ]
+if [ $REFERENCE_MODE = 1 ]
then
download_tizen_reference_id
download_tizen_x_reference_id
declare -A tizen_list
declare -A tizenx_list
-if [ $TYPE == "base" ]
+if [ $TYPE = "base" ]
then
RESULT_FILE="result_base_T${TIZEN_SNAPSHOT}_X${TIZENX_SNAPSHOT}.txt"
else
RESULT_FILE="result_unified_T${TIZEN_SNAPSHOT}_X${TIZENX_SNAPSHOT}.txt"
fi
+if [ $INDEX_START = 1 ]
+then
+READ_OPT="-rA"
+else
+READ_OPT="-ra"
+fi
OIFS=$IFS
IFS=' '
-while read -ra line
+while read $READ_OPT line
do
- index=${line[0]}
- tizen_list[$index]="${line[1]}"
+ index=${line[$INDEX_START]}
+ tizen_list[$index]="${line[2 - $INDEX_OFFSET]}"
done < tizen_${TIZEN_SNAPSHOT}_merge.lst
-while read -ra line
+while read $READ_OPT line
do
- index=${line[0]}
- tizenx_list[$index]=${line[1]}
+ index=${line[$INDEX_START]}
+ tizenx_list[$index]=${line[2 - $INDEX_OFFSET]}
done < tizenx_${TIZENX_SNAPSHOT}_merge.lst
IFS=$OIFS
rm -f tizen_${TIZEN_SNAPSHOT}_merge.lst tizenx_${TIZENX_SNAPSHOT}_merge.lst
CHANGE_COUNT=0
-if [ $TYPE == "base" ]
+if [ $TYPE = "base" ]
then
EXCEPT_LIST="$EXCEPT_BASE_LIST"
else
fi
echo "Tizen : ${TIZEN_SNAPSHOT} to X : ${TIZENX_SNAPSHOT}" > ${RESULT_FILE}
-for key in ${!tizenx_list[@]}
+if [ $INDEX_START = 1 ]
+then
+ LOOP_LIST="${(@k)tizenx_list}"
+else
+ LOOP_LIST=${!tizenx_list[@]}
+fi
+
+for key in $( echo ${LOOP_LIST} )
do
FLAG="false"
- for item in $EXCEPT_LIST
+ for item in $( echo ${EXCEPT_LIST} )
do
- if [ $item == $key ]
+ if [ $item = $key ]
then
FLAG="true"
continue
fi
done
- if [ $FLAG == "true" ]
+ if [ $FLAG = "true" ]
then
printc "orange" "EXCEPT $key"
continue
fi
- if [ x"${tizen_list[$key]}" == "x" ]
+ if [ x"${tizen_list[$key]}" = "x" ]
then
printc "orange" "Not Found $key in tizen list"
continue
exit 0
fi
-if [ $TYPE == "base" ]
+if [ $TYPE = "base" ]
then
RESULT_FILE_AF="result_base_T${TIZEN_SNAPSHOT}_additional_files.txt"
else
CHANGE_COUNT=0
-for key in ${!tizen_list[@]}
+if [ $INDEX_START = 1 ]
+then
+ LOOP_LIST="${(@k)tizen_list}"
+else
+ LOOP_LIST=${!tizen_list[@]}
+fi
+
+for key in $( echo ${LOOP_LIST} )
do
FLAG="false"
- for item in $EXCEPT_LIST
+ for item in $( echo ${EXCEPT_LIST} )
do
- if [ $item == $key ]
+ if [ $item = $key ]
then
FLAG="true"
continue
fi
done
- if [ $FLAG == "true" ]
+ if [ $FLAG = "true" ]
then
printc "orange" "EXCEPT $key"
continue
fi
- if [ x"${tizenx_list[$key]}" == "x" ]
+ if [ x"${tizenx_list[$key]}" = "x" ]
then
let "CHANGE_COUNT++"
echo "$key@${tizen_list[$key]}" >> ${RESULT_FILE_AF}