From bc9c02617a343b0edb66595e58c1f78b7ee60c8f Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 05 Mar 2010 04:37:03 -0500
Subject: [PATCH] Add shellscripts to shrink/unshrink javascript files (by trisk)

---
 bin/jsshrink.sh   |   48 ++++++++++++++++++++++++
 bin/jsunshrink.sh |   24 ++++++++++++
 2 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/bin/jsshrink.sh b/bin/jsshrink.sh
new file mode 100755
index 0000000..b85f517
--- /dev/null
+++ b/bin/jsshrink.sh
@@ -0,0 +1,48 @@
+#!/bin/sh
+JS_DIR=`dirname "$0"`/../program/js
+CLOSURE_COMPILER_URL='http://closure-compiler.googlecode.com/files/compiler-latest.zip'
+
+do_shrink() {
+	rm -f "$2"
+	java -jar compiler.jar --compilation_level=SIMPLE_OPTIMIZATIONS --js="$1" --js_output_file="$2"
+}
+
+if [ ! -d "$JS_DIR" ]; then
+	echo "Directory $JS_DIR not found."
+	exit 1
+fi
+
+if java -version >/dev/null 2>&1; then
+	:
+else
+	echo "Java not found. Please ensure that the 'java' program is in your PATH."
+	exit 1
+fi
+
+if [ ! -r "compiler.jar" ]; then
+	if which wget >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then
+		wget "$CLOSURE_COMPILER_URL" -O "/tmp/$$.zip"
+	elif which curl >/dev/null 2>&1 && which unzip >/dev/null 2>&1; then
+		curl "$CLOSURE_COMPILER_URL" -o "/tmp/$$.zip"
+	else
+		echo "Please download $CLOSURE_COMPILER_URL and extract compiler.jar to this directory."
+		exit 1
+	fi
+	unzip "/tmp/$$.zip" "compiler.jar"
+	rm -f "/tmp/$$.zip"
+fi
+
+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"
+	else
+		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"
+done
+
+for fn in tiny_mce/tiny_mce; do
+	echo "Shrinking $JS_DIR/${fn}.js"
+	do_shrink "$JS_DIR/${fn}_src.js" "$JS_DIR/${fn}.js"
+done
diff --git a/bin/jsunshrink.sh b/bin/jsunshrink.sh
new file mode 100755
index 0000000..90c3ea5
--- /dev/null
+++ b/bin/jsunshrink.sh
@@ -0,0 +1,24 @@
+#!/bin/sh
+JS_DIR=`dirname "$0"`/../program/js
+
+if [ ! -d "$JS_DIR" ]; then
+	echo "Directory $JS_DIR not found."
+	exit 1
+fi
+
+for fn in app common googiespell list; do
+	if [ -r "$JS_DIR/${fn}.js.src" ]; then
+		mv "$JS_DIR/${fn}.js.src" "$JS_DIR/${fn}.js"
+		echo "Reverted $JS_DIR/${fn}.js"
+	fi
+done
+
+for fn in tiny_mce/tiny_mce; do
+	if [ -d "$JS_DIR/.svn" ] && which svn >/dev/null 2>&1; then
+		rm -f "$JS_DIR/${fn}.js"
+		svn revert "$JS_DIR/${fn}.js"
+	else
+		cp "$JS_DIR/${fn}_src.js" "$JS_DIR/${fn}.js"
+		echo "Reverted $JS_DIR/${fn}.js"
+	fi
+done

--
Gitblit v1.9.1