| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #!/bin/bash
- #
- # Shell script that creates a new transformation plug-in (both main and
- # abstract class) using a template.
- #
- # The 'description' parameter will add a new entry in the language file.
- # Watch out for special escaping.
- #
- # $1: MIMEType
- # $2: MIMESubtype
- # $3: Transformation Name
- # $4: (optional) Description
- echo $#
- if [ $# -ne 3 -a $# -ne 4 ]; then
- echo -e "Usage: ./generator_plugin.sh MIMEType MIMESubtype TransformationName [Description]\n"
- exit 65
- fi
- # make sure that the MIME Type, MIME Subtype and Transformation names
- # are in the correct format
- # make all names lowercase
- MT="`echo $1 | tr [:upper:] [:lower:]`"
- MS="`echo $2 | tr [:upper:] [:lower:]`"
- TN="`echo $3 | tr [:upper:] [:lower:]`"
- # make first letter uppercase
- MT="${MT^}"
- MS="${MS^}"
- TN="${TN^}"
- # make the first letter after each underscore uppercase
- MT="`echo $MT`"
- MT="`echo $MT | sed -e 's/_./\U&\E/g'`"
- MS="`echo $MS`"
- MS="`echo $MS | sed -e 's/_./\U&\E/g'`"
- TN="`echo $TN`"
- TN="`echo $TN | sed -e 's/_./\U&\E/g'`"
- # define the name of the main class file and of its template
- ClassFile=$MT\_$MS\_$TN.class.php
- Template=TEMPLATE
- # define the name of the abstract class file and its template
- AbstractClassFile=abstract/"$TN"TransformationsPlugin.class.php
- AbstractTemplate=TEMPLATE_ABSTRACT
- # replace template names with argument names
- sed "s/\[MIMEType]/$MT/; s/\[MIMESubtype\]/$MS/; s/\[TransformationName\]/$TN/;" < $Template > $ClassFile
- echo "Created $ClassFile"
- GenerateAbstractClass=1
- if [ -n $4 ]; then
- if [ "$4" == "--generate_only_main_class" ]; then
- if [ -e $AbstractClassFile ]; then
- GenerateAbstractClass=0
- fi
- fi
- fi
- if [ $GenerateAbstractClass -eq 1 ]; then
- # replace template names with argument names
- sed "s/\[TransformationName\]/$TN/; s/Description of the transformation./$4/;" < $AbstractTemplate > $AbstractClassFile
- echo "Created $AbstractClassFile"
- fi
- echo ""
|