#!/bin/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