QGIS/scripts/customwidget_create.sh
2018-06-21 15:33:29 +10:00

40 lines
1010 B
Bash
Executable File

#!/usr/bin/env bash
# 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
CLASSNAME=$1
TODAY=$(date '+%d.%m.%Y')
YEAR=$(date '+%Y')
AUTHOR=$(git config user.name)
EMAIL=$(git config user.email)
CLASSUPPER="${CLASSNAME^^}"
CLASSLOWER="${CLASSNAME,,}"
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
declare -a EXT=("cpp" "h")
for i in "${EXT[@]}"
do
DESTFILE=$DIR/../src/customwidgets/${CLASSLOWER}plugin.$i
cp "$DIR"/customwidget."$i".template "$DESTFILE"
sed -i s/%DATE%/"$TODAY"/g "$DESTFILE"
sed -i s/%YEAR%/"$YEAR"/g "$DESTFILE"
sed -i s/%AUTHOR%/"$AUTHOR"/g "$DESTFILE"
sed -i s/%EMAIL%/"$EMAIL"/g "$DESTFILE"
sed -i s/%CLASSUPPERCASE%/"$CLASSUPPER"/g "$DESTFILE"
sed -i s/%CLASSLOWERCASE%/"$CLASSLOWER"/g "$DESTFILE"
sed -i s/%CLASSMIXEDCASE%/"$CLASSNAME"/g "$DESTFILE"
done