X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=generate-combined.sh;h=9e184ae5833a3434cb3977f48806de82579ec716;hb=e3a1d6944b1474e507e99a5f497d506ae3de2120;hp=21cd7d47c11cedda7dde7896dcf874819cd78a53;hpb=79f17b42e332b8029a7d574f11a26844530e3120;p=dygraphs.git diff --git a/generate-combined.sh b/generate-combined.sh index 21cd7d4..9e184ae 100755 --- a/generate-combined.sh +++ b/generate-combined.sh @@ -1,23 +1,65 @@ #!/bin/bash # Generates a single JS file that's easier to include. -# This packed JS includes a partial copy of MochiKit and PlotKit. -# Generate the packed version of the subset of PlotKit needed by dygraphs. -# This saves ~30k -cd plotkit_v091 -./scripts/pack.py Base Layout Canvas > /tmp/plotkit-packed.js -cd .. +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 +} -# Do the same for MochiKit. This save ~90k. -cd mochikit_v14 -./scripts/pack.py \ -Base Iter Format DOM Style Color Signal \ -> /tmp/mochikit-packed.js -cd .. +# Pack all the JS together. +CatSources () { + GetSources \ + | xargs cat \ + | perl -ne 'print unless m,REMOVE_FOR_COMBINED,..m,/REMOVE_FOR_COMBINED,' +} -cat \ -/tmp/mochikit-packed.js \ -/tmp/plotkit-packed.js \ -dygraph-canvas.js \ -dygraph.js \ -> dygraph-combined.js +Copyright () { + echo '/*! @license Copyright 2011 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */' +} + +CatCompressed () { + Copyright + CatSources \ + | java -jar yuicompressor-2.4.2.jar --type 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