summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Bruederli <thomas@roundcube.net>2013-01-24 14:00:15 +0100
committerThomas Bruederli <thomas@roundcube.net>2013-01-24 14:00:15 +0100
commit55ee252d65832c48d8b566852416418bec4082e5 (patch)
tree929f4632d849ec1d47d02fff93bd750a35755df4
parent40917b0b340575556a31edbec0cda3ec1ef6f918 (diff)
Allow to shrink any file passed as argument
-rwxr-xr-xbin/jsshrink.sh23
1 files changed, 21 insertions, 2 deletions
diff --git a/bin/jsshrink.sh b/bin/jsshrink.sh
index 9cfd660bb..1d77ff388 100755
--- a/bin/jsshrink.sh
+++ b/bin/jsshrink.sh
@@ -1,11 +1,12 @@
#!/bin/sh
JS_DIR=`dirname "$0"`/../program/js
JAR_DIR='/tmp'
+LANG_IN='ECMASCRIPT3'
CLOSURE_COMPILER_URL='http://closure-compiler.googlecode.com/files/compiler-latest.zip'
do_shrink() {
rm -f "$2"
- java -jar $JAR_DIR/compiler.jar --compilation_level=SIMPLE_OPTIMIZATIONS --js="$1" --js_output_file="$2"
+ java -jar $JAR_DIR/compiler.jar --compilation_level=SIMPLE_OPTIMIZATIONS --js="$1" --js_output_file="$2" --language_in="$3"
}
if [ ! -d "$JS_DIR" ]; then
@@ -37,6 +38,24 @@ if [ ! -r "$JAR_DIR/compiler.jar" ]; then
rm -f "/tmp/$$.zip"
fi
+# compress single file from argument
+if [ $# -gt 0 ]; then
+ JS_DIR=`dirname "$1"`
+ JS_FILE="$1"
+
+ if [ $# -gt 1 ]; then
+ LANG_IN="$2"
+ fi
+
+ if [ ! -r "${JS_FILE}.src" ]; then
+ mv "$JS_FILE" "${JS_FILE}.src"
+ fi
+ echo "Shrinking $JS_FILE"
+ do_shrink "${JS_FILE}.src" "$JS_FILE" "$LANG_IN"
+ exit
+fi
+
+# default: compress application scripts
for fn in app common googiespell list; do
if [ -r "$JS_DIR/${fn}.js.src" ]; then
echo "$JS_DIR/${fn}.js.src already exists, not overwriting"
@@ -44,5 +63,5 @@ for fn in app common googiespell list; do
mv "$JS_DIR/${fn}.js" "$JS_DIR/${fn}.js.src"
fi
echo "Shrinking $JS_DIR/${fn}.js"
- do_shrink "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js"
+ do_shrink "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js" "$LANG_IN"
done