Beam/Tools/Scripts/createScreen.sh
Doug 50f674a111
Update template screen naming. (#824)
Update the script too.
2023-04-24 15:03:46 +01:00

63 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
GREEN='\033[0;32m'
NOCOLOR='\033[0m'
if [ ! $# -eq 1 ]; then
echo -e "Usage: ${GREEN}./createScreen.sh Name${NOCOLOR}"
echo -e "For example ${GREEN}./createScreen.sh Home${NOCOLOR} will create ${GREEN}HomeScreen${NOCOLOR}"
exit 1
fi
SCREENS_DIR="../../ElementX/Sources/Screens"/$1Screen
UI_TESTS_DIR="../../UITests/Sources"
UNIT_TESTS_DIR="../../UnitTests/Sources"
if [ -e $SCREENS_DIR ]; then
echo "Error: Folder ${SCREENS_DIR} already exists"
exit 1
fi
echo "Creating ${SCREENS_DIR}"
mkdir -p $SCREENS_DIR
echo "Copying screen files"
cp -R "Templates/SimpleScreenExample/ElementX/" $SCREENS_DIR/
echo "Copying tests"
cp -R "Templates/SimpleScreenExample/Tests/UI/" $UI_TESTS_DIR/
cp -R "Templates/SimpleScreenExample/Tests/Unit/" $UNIT_TESTS_DIR/
SCREEN_NAME=$1
SCREEN_VAR_NAME=`echo $SCREEN_NAME | awk '{ print tolower(substr($0, 1, 1)) substr($0, 2) }'`
function rename_files {
for file in $(find * -type f -print)
do
perl -p -i -e "s/Template/"$SCREEN_NAME"/g" $file
perl -p -i -e "s/template/"$SCREEN_VAR_NAME"/g" $file
mv ${file} ${file/Template/$SCREEN_NAME}
done
}
echo "Renaming files"
cd $SCREENS_DIR
rename_files
cd - > /dev/null
cd $UI_TESTS_DIR
rename_files
cd - > /dev/null
cd $UNIT_TESTS_DIR
rename_files
cd - > /dev/null
echo "Done"