2018-02-05 13:38:02 +01:00
|
|
|
#!/usr/bin/env bash
|
2016-01-13 11:49:04 +01:00
|
|
|
|
|
|
|
# This script automatically creates custom widget plugin for a given widget class name.
|
|
|
|
# Use customwidget_create.sh QgsColorButton to create QgsColorButtonPlugin files.
|
|
|
|
# It uses author name and email from git config.
|
|
|
|
|
|
|
|
# Denis Rouzaud
|
|
|
|
# 13.01.2016
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
2022-03-16 17:51:07 +01:00
|
|
|
# GNU prefix command for bsd/mac os support (gsed, gsplit)
|
2020-03-26 17:23:46 +01:00
|
|
|
GP=
|
2022-03-16 17:51:07 +01:00
|
|
|
if [[ "$OSTYPE" == *bsd* ]] || [[ "$OSTYPE" =~ darwin* ]]; then
|
2020-03-26 17:23:46 +01:00
|
|
|
GP=g
|
|
|
|
fi
|
|
|
|
|
2016-01-13 11:49:04 +01:00
|
|
|
CLASSNAME=$1
|
|
|
|
|
2018-05-31 17:01:50 +02:00
|
|
|
TODAY=$(date '+%d.%m.%Y')
|
|
|
|
YEAR=$(date '+%Y')
|
2016-01-13 11:49:04 +01:00
|
|
|
|
2018-05-31 17:01:50 +02:00
|
|
|
AUTHOR=$(git config user.name)
|
|
|
|
EMAIL=$(git config user.email)
|
2016-01-13 11:49:04 +01:00
|
|
|
|
|
|
|
CLASSUPPER="${CLASSNAME^^}"
|
|
|
|
CLASSLOWER="${CLASSNAME,,}"
|
2020-03-27 07:04:56 +01:00
|
|
|
CLASSWITHOUTQGS=$(${GP}sed 's/^Qgs//' <<< ${CLASSNAME})
|
2016-01-13 11:49:04 +01:00
|
|
|
|
|
|
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
|
|
|
|
declare -a EXT=("cpp" "h")
|
|
|
|
for i in "${EXT[@]}"
|
|
|
|
do
|
|
|
|
DESTFILE=$DIR/../src/customwidgets/${CLASSLOWER}plugin.$i
|
2018-06-21 12:49:45 +10:00
|
|
|
cp "$DIR"/customwidget."$i".template "$DESTFILE"
|
2020-05-01 10:17:23 +02:00
|
|
|
${GP}sed -i "s/%DATE%/${TODAY}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%YEAR%/${YEAR}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%AUTHOR%/${AUTHOR}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%EMAIL%/${EMAIL}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%CLASSUPPERCASE%/${CLASSUPPER}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%CLASSLOWERCASE%/${CLASSLOWER}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%CLASSMIXEDCASE%/${CLASSNAME}/g" ${DESTFILE}
|
|
|
|
${GP}sed -i "s/%CLASSWITHOUTQGS%/${CLASSWITHOUTQGS}/g" ${DESTFILE}
|
2016-01-13 11:49:04 +01:00
|
|
|
done
|