Closurize rgbcolor.js
[dygraphs.git] / generate-combined.sh
index 304b1cf..9e184ae 100755 (executable)
@@ -1,32 +1,65 @@
 #!/bin/bash
 # Generates a single JS file that's easier to include.
 
+GetSources () {
+  # This list needs to be kept in sync w/ the one in dygraph-dev.js
+  # and the one in jsTestDriver.conf. Order matters, except for the plugins.
+  for F in \
+    strftime/strftime-min.js \
+    rgbcolor/rgbcolor.js \
+    stacktrace.js \
+    dashed-canvas.js \
+    dygraph-options.js \
+    dygraph-layout.js \
+    dygraph-canvas.js \
+    dygraph.js \
+    dygraph-utils.js \
+    dygraph-gviz.js \
+    dygraph-interaction-model.js \
+    dygraph-tickers.js \
+    dygraph-plugin-base.js \
+    plugins/*.js \
+    dygraph-plugin-install.js
+  do
+      echo "$F"
+  done
+}
+
 # Pack all the JS together.
+CatSources () {
+  GetSources \
+  | xargs cat \
+  | perl -ne 'print unless m,REMOVE_FOR_COMBINED,..m,/REMOVE_FOR_COMBINED,'
+}
 
-# This list needs to be kept in sync w/ the one in dygraph-dev.js
-# and the one in jsTestDriver.conf.
-cat \
-dygraph-layout.js \
-dygraph-canvas.js \
-dygraph.js \
-dygraph-utils.js \
-dygraph-gviz.js \
-dygraph-interaction-model.js \
-dygraph-range-selector.js \
-dygraph-tickers.js \
-rgbcolor/rgbcolor.js \
-strftime/strftime-min.js \
-plugins/base.js \
-plugins/legend.js \
-plugins/install.js \
-| perl -ne 'print unless m,REMOVE_FOR_COMBINED,..m,/REMOVE_FOR_COMBINED,' \
-> /tmp/dygraph.js
+Copyright () {
+  echo '/*! @license Copyright 2011 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */'
+}
 
-java -jar yuicompressor-2.4.2.jar /tmp/dygraph.js \
-> /tmp/dygraph-packed.js
+CatCompressed () {
+  Copyright
+  CatSources \
+  | java -jar yuicompressor-2.4.2.jar --type js
+}
 
-(
-  echo '/*! dygraphs v1.2 dygraphs.com | dygraphs.com/license */'
-  cat /tmp/dygraph-packed.js
-) > dygraph-combined.js
-chmod a+r dygraph-combined.js
+ACTION="${1:-update}"
+case "$ACTION" in
+ls)
+  GetSources
+  ;;
+cat)
+  Copyright
+  CatSources
+  ;;
+compress*|cat_compress*)
+  CatCompressed
+  ;;
+update)
+  CatCompressed > dygraph-combined.js
+  chmod a+r dygraph-combined.js
+  ;;
+*)
+  echo >&2 "Unknown action '$ACTION'"
+  exit 1
+  ;;
+esac