| Index: utils/template/template
|
| diff --git a/utils/template/template b/utils/template/template
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..0f876617deff6d4d455c4bfb74091005a57a212d
|
| --- /dev/null
|
| +++ b/utils/template/template
|
| @@ -0,0 +1,78 @@
|
| +#!/bin/bash
|
| +
|
| +# To process a template, run this script with the path to a .tmpl file, e.g.,
|
| +#
|
| +# $ $DART/utils/template/template srcfile [outfile]
|
| +#
|
| +# where:
|
| +# srcfile - the template file file.tmpl (if .tmpl missing .tmpl is assumed).
|
| +# outfile - the Dart class file to generate, if outfile not specified then
|
| +# outfile is srcfile.dart (srcfile name w/o ext).
|
| +#
|
| +# To use your Dart VM must be on your $PATH e.g.,
|
| +#
|
| +# export PATH=$PATH:/home/<your name>/dart-all/dart/out/Release_ia32/
|
| +
|
| +
|
| +# Minimum/Maximum number of arguments
|
| +MINARGS=1
|
| +MAXARGS=2
|
| +
|
| +# get the number of command-line arguments given
|
| +ARGC=$#
|
| +
|
| +SRCFILE=
|
| +OUTFILE=
|
| +
|
| +# check to make sure enough arguments were given or exit
|
| +if [[ $ARGC -eq $MINARGS ]];
|
| +then
|
| + SRCFILE=$1
|
| + IDX=`expr index "$SRCFILE" .`
|
| + if [[ $IDX -eq 0 ]];
|
| + then
|
| + # No extension
|
| + FILENAME=$SRCFILE
|
| + EXT=
|
| + else
|
| + FILENAME=${SRCFILE:0:(IDX-1)}
|
| + EXT=${SRCFILE:IDX}
|
| + fi
|
| +
|
| + TMPL_EXT='tmpl'
|
| + if [ "$EXT" = "$TMPL_EXT" ];
|
| + then
|
| + SRCFILE="$PWD/$1"
|
| + OUTFILE="$PWD/$FILENAME.dart"
|
| + else
|
| + SRCFILE="$PWD/$1.$TMPL_EXT"
|
| + OUTFILE="$PWD/$FILENAME.dart"
|
| + fi
|
| +elif [[ $ARGC -eq 2 ]]
|
| +then
|
| + SRCFILE="$PWD/$1"
|
| + OUTFILE="$PWD/$2"
|
| +elif [[ $ARGC -lt $MINARGS ]];
|
| +then
|
| + echo -e "\033[31mToo few arguments given (Minimum $MINARGS argument)\033[0m"
|
| + exit 1
|
| +elif [[ $ARGC -gt $MAXARGS ]];
|
| +then
|
| + echo -e "\033[31mToo many arguments\033[0m"
|
| + exit 1
|
| +fi
|
| +
|
| +if [ "$SRCFILE" = "$OUTFILE" ];
|
| +then
|
| + echo -e "\033[31msource file must be different from the output file \033[0m"
|
| + echo -e "source file: $SRCFILE"
|
| + echo -e "output file: $OUTFILE"
|
| + exit 1
|
| +fi
|
| +
|
| +# Path of this bash script.
|
| +BASE_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
| +
|
| +# Pre-process the file
|
| +dart $BASE_DIR/tool.dart $SRCFILE $OUTFILE
|
| +
|
|
|