#!/bin/bash

TEMPLATEPATH=$1
APPNAME=$2
FULLBUNDLE=$3
VERSION=$4
SDKPATH=$5
TARGET=$6

if [ ! -d "${SDKPATH}" ]; then
  echo "ERROR: Android SDK Path \"${SDKPATH}\" does not exist. Terminating."
  exit
fi

# set target as latest android version, if not specified
if [ "$TARGET" = "" ]; then
	TARGET=`"$SDKPATH/tools/android" list targets | grep id: | sed -n '$p' | awk '{print $2}'`
fi

if [ ! -d "${TEMPLATEPATH}" ]; then
  echo "ERROR: Template Path \"${TEMPLATEPATH}/\" does not exist. Terminating."
  exit
fi

# clean inputs
FULLBUNDLE=`echo "${FULLBUNDLE}" | tr '[A-Z]' '[a-z]'`

# create project name as valid C identifier format
TMP=$(echo $FULLBUNDLE | tr ".", "\n")
for x in $TMP
do
    PROJECTNAME="$x"
done

# check new project directory
echo "`pwd`/${FULLBUNDLE}"
if [ -d "`pwd`/${FULLBUNDLE}" ]; then
  echo "ERROR: Project Directory \"`pwd`/${FULLBUNDLE}\" exists. Terminating."
  exit
fi

# create android project
"$SDKPATH/tools/android" create project --name "$PROJECTNAME" --target $TARGET --path "`pwd`/$FULLBUNDLE" --package $FULLBUNDLE --activity DefaultActivity

# copy phonegap specific files
rsync -r "$TEMPLATEPATH/" "$FULLBUNDLE/"
mv -f "`pwd`/$FULLBUNDLE/DefaultActivity.java" "`pwd`/$FULLBUNDLE/src/`echo "${FULLBUNDLE}" | sed -e "s/\./\//g"`/DefaultActivity.java"

function replaceToken {
	find "`pwd`/$FULLBUNDLE" -type f -not -iname *.jar -exec sed -i '' -e "s:$1:$2:g" {} \;
	find "`pwd`/$FULLBUNDLE" -name "*$1*" | while read file ; do
		mv "$file" "`echo "$file" | sed -e "s:$1:$2:g"`"
	done	
}

# update replacement shims
replaceToken "___BUNDLE___" "$FULLBUNDLE"
replaceToken "___VERSION___" "$VERSION"
replaceToken "___PROJECTNAME___" "$APPNAME"

sed -i '' '/<setup \/>/i\
\
\	<condition property="below1.8\">\
\		<not>\
\			<antversion atleast="1.8"/>\
\		</not>\
\	</condition>\
\
\	<target name="-pre-compile" if="below1.8">\
\		<copy todir="\${out.classes.absolute.dir}">\
\			<fileset dir="\${jar.libs.absolute.dir}"/>\
\		</copy>\
\	</target>\
\
	' `pwd`/$FULLBUNDLE/build.xml

echo "CLONE SUCCESSFUL"



 
