111 lines
2.4 KiB
Bash
Executable File
111 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# @RDE_HEADER@
|
|
# $Id$
|
|
# $HeadURL$
|
|
# $Author$
|
|
#
|
|
|
|
svc_name_abbr=""
|
|
svc_name_long=""
|
|
|
|
|
|
usage()
|
|
{
|
|
echo "usage: $0 -l <SvcName long> -s <SvcName short>"
|
|
echo " -l <SvcName long> : ServiceName in CamelCase "
|
|
echo " -s <SvcName short>: Abbreviation of ServiceName with 3 letters"
|
|
}
|
|
|
|
while getopts "s:l:" opt "$@"; do
|
|
case $opt in
|
|
l)
|
|
svc_name_long=$OPTARG
|
|
;;
|
|
s)
|
|
svc_name_abbr=$OPTARG
|
|
;;
|
|
\?)
|
|
echo "Invalid option: -$OPTARG"
|
|
usage
|
|
exit 1
|
|
;;
|
|
:)
|
|
echo "Option -$OPTARG requires an argument."
|
|
usage
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
|
|
if [ -z $svc_name_long ]; then
|
|
echo "Parameter -l is required"
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z $svc_name_abbr ]; then
|
|
echo "Parameter -s is required"
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
echo "ServiceName (long): ${svc_name_long} "
|
|
echo "ServiceName (Abbr): ${svc_name_abbr} "
|
|
|
|
svc_lower=${svc_name_abbr,,}
|
|
svc_upper=${svc_name_abbr^^}
|
|
svc_cc=${svc_lower~}
|
|
|
|
echo "svc lower (Abbr): ${svc_lower} "
|
|
echo "svc upper (Abbr): ${svc_upper} "
|
|
echo "svc CamelCase (Abbr): ${svc_cc} "
|
|
|
|
# copy skeleton to SvcDirectory
|
|
svc_dir=${svc_name_long}
|
|
if [ -d ../${svc_dir} ]; then
|
|
echo "Directory ${svc_dir} already exists. Remove it and restart the script"
|
|
exit 2
|
|
rm -r ${svc_dir}
|
|
fi
|
|
|
|
cp -r ./base ../${svc_dir}
|
|
echo "Copied files to ${svc_dir}."
|
|
|
|
cd ../${svc_dir}
|
|
|
|
# mv files with xxx_* to svc_lower_*
|
|
#for i in find . -name 'xxx_*' -exec ls {} \;
|
|
# Todo: sed for renaming? xxx -> ${svc_lower}, wherever it occurs
|
|
for old_file in `find . -name 'xxx_*' `; do
|
|
new_file="${svc_lower}${old_file:5}"
|
|
echo "-> Rename file ${old_file} to ${new_file}"
|
|
mv ${old_file} ./${new_file}
|
|
done
|
|
|
|
mv ./log4cxx_xxx.props ./log4cxx_${svc_lower}.props
|
|
|
|
# search & replace XXX/Xxx/xxx/XxxXxxXxx
|
|
for file in `find . -type f -name '*' `; do
|
|
echo "-> Replace all Xxx/xxx/XXX and namespace in file ${file}"
|
|
sed -i "s/XxxXxxXxx/${svc_name_long}/g" ${file}
|
|
sed -i "s/XXX/${svc_upper}/g" ${file}
|
|
sed -i "s/Xxx/${svc_cc}/g" ${file}
|
|
sed -i "s/xxx/${svc_lower}/g" ${file}
|
|
done
|
|
|
|
pwd=`pwd`
|
|
|
|
# echo what to do next:
|
|
echo "------------------------"
|
|
echo "Next steps:"
|
|
echo "------------------------"
|
|
echo "=> Copy xml service file (${svc_lower}_service.xml) from EA into '${svc_dir}'"
|
|
echo " cp ${svc_lower}_service.xml ${pwd}/"
|
|
echo ""
|
|
echo "=> Include '${svc_dir}' in CMakeLists.txt (in folder 'Services') by adding the following line:"
|
|
echo " ADD_SUBDIRECTORY(${svc_name_long})"
|
|
echo "------------------------"
|
|
|