Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(636)

Unified Diff: utils/template/template

Issue 9695048: Template parser (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Siggi's comments Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « utils/template/source.dart ('k') | utils/template/template.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
+
« no previous file with comments | « utils/template/source.dart ('k') | utils/template/template.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698