#!/bin/bash
set -e

cd $(dirname ${BASH_SOURCE})/../apps

template_app_name="$1"
app_name="$2"

usage() {
  echo '$0 <from-app-name> <to-app-name>'
}

if [[ ! -e "../apps/$template_app_name" ]]
then
  echo "No such app: $template_app_name"
  exit 1
fi
if [[ ! $app_name =~ ^[[:alnum:]_-]+$ ]]
then
  echo 'Illegal application name'
  exit 1
fi

cp -rP "$template_app_name" "$app_name"
cd "$app_name"

# Change file names.
for file in $(find . -name "*$template_app_name*")
do
  mv "$file" $(echo "$file" | sed "s/$template_app_name/$app_name/")
done

# Replace app name within files.
for file in $(find . -name '*')
do
  if [[ -f "$file" ]]
  then
    sed -i "s/$template_app_name/$app_name/" "$file" || true
  fi
done
