commit | author | age
|
bc9c02
|
1 |
#!/bin/sh |
T |
2 |
JS_DIR=`dirname "$0"`/../program/js |
54f1af
|
3 |
JAR_DIR='/tmp' |
55ee25
|
4 |
LANG_IN='ECMASCRIPT3' |
bc9c02
|
5 |
CLOSURE_COMPILER_URL='http://closure-compiler.googlecode.com/files/compiler-latest.zip' |
T |
6 |
|
|
7 |
do_shrink() { |
|
8 |
rm -f "$2" |
55ee25
|
9 |
java -jar $JAR_DIR/compiler.jar --compilation_level=SIMPLE_OPTIMIZATIONS --js="$1" --js_output_file="$2" --language_in="$3" |
bc9c02
|
10 |
} |
T |
11 |
|
|
12 |
if [ ! -d "$JS_DIR" ]; then |
|
13 |
echo "Directory $JS_DIR not found." |
|
14 |
exit 1 |
54f1af
|
15 |
fi |
T |
16 |
|
|
17 |
if [ ! -w "$JAR_DIR" ]; then |
|
18 |
JAR_DIR=`dirname "$0"` |
bc9c02
|
19 |
fi |
T |
20 |
|
|
21 |
if java -version >/dev/null 2>&1; then |
|
22 |
: |
|
23 |
else |
|
24 |
echo "Java not found. Please ensure that the 'java' program is in your PATH." |
|
25 |
exit 1 |
|
26 |
fi |
|
27 |
|
54f1af
|
28 |
if [ ! -r "$JAR_DIR/compiler.jar" ]; then |
bc9c02
|
29 |
if which wget >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then |
T |
30 |
wget "$CLOSURE_COMPILER_URL" -O "/tmp/$$.zip" |
|
31 |
elif which curl >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then |
|
32 |
curl "$CLOSURE_COMPILER_URL" -o "/tmp/$$.zip" |
|
33 |
else |
54f1af
|
34 |
echo "Please download $CLOSURE_COMPILER_URL and extract compiler.jar to $JAR_DIR/." |
bc9c02
|
35 |
exit 1 |
T |
36 |
fi |
54f1af
|
37 |
(cd $JAR_DIR && unzip "/tmp/$$.zip" "compiler.jar") |
bc9c02
|
38 |
rm -f "/tmp/$$.zip" |
T |
39 |
fi |
|
40 |
|
55ee25
|
41 |
# compress single file from argument |
TB |
42 |
if [ $# -gt 0 ]; then |
|
43 |
JS_DIR=`dirname "$1"` |
|
44 |
JS_FILE="$1" |
|
45 |
|
|
46 |
if [ $# -gt 1 ]; then |
|
47 |
LANG_IN="$2" |
|
48 |
fi |
|
49 |
|
|
50 |
if [ ! -r "${JS_FILE}.src" ]; then |
|
51 |
mv "$JS_FILE" "${JS_FILE}.src" |
|
52 |
fi |
|
53 |
echo "Shrinking $JS_FILE" |
|
54 |
do_shrink "${JS_FILE}.src" "$JS_FILE" "$LANG_IN" |
|
55 |
exit |
|
56 |
fi |
|
57 |
|
|
58 |
# default: compress application scripts |
92ba29
|
59 |
for fn in app common googiespell list treelist; do |
bc9c02
|
60 |
if [ -r "$JS_DIR/${fn}.js.src" ]; then |
T |
61 |
echo "$JS_DIR/${fn}.js.src already exists, not overwriting" |
|
62 |
else |
|
63 |
mv "$JS_DIR/${fn}.js" "$JS_DIR/${fn}.js.src" |
|
64 |
fi |
|
65 |
echo "Shrinking $JS_DIR/${fn}.js" |
55ee25
|
66 |
do_shrink "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js" "$LANG_IN" |
bc9c02
|
67 |
done |