Droplets/create-new-droplet.sh

34 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
function printHelp {
echo 'This bash script will create a new droplet. Please input the name for the droplet in PascalCase as a command line argument.'
}
# Check for arguments
if [ $# -eq 0 ]
then
printHelp
fi
# Setup Droplet names
dropletName=$1
dropletNameWords=$(echo $dropletName | sed 's/\([A-Z][^A-Z]\)/ \1/g')
upper=$(echo ${dropletNameWords} | tr '[:lower:]' '[:upper:]')
upper="${upper// /_}"
lower=$(echo ${upper} | tr '[:upper:]' '[:lower:]')
# Create copy from template
folder=$(dirname "$0")
headerFile="${folder}/src/droplets/${lower}_droplet.h"
cppFile="${folder}/src/droplets/${lower}_droplet.cpp"
cp ${folder}/src/droplets/template_droplet.cpp ${cppFile}
cp ${folder}/src/droplets/template_droplet.h ${headerFile}
# Replace
sed -i "s/Template/${dropletName}/g" ${headerFile}
sed -i "s/Template/${dropletName}/g" ${cppFile}
sed -i "s/template/${lower}/g" ${headerFile}
sed -i "s/template/${lower}/g" ${cppFile}
sed -i "s/TEMPLATE/${upper}/g" ${headerFile}
sed -i "s/TEMPLATE/${upper}/g" ${cppFile}