package org.fluxtream.core.utils; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.StringReader; import org.apache.commons.io.FileUtils; import org.mozilla.javascript.ErrorReporter; import org.mozilla.javascript.EvaluatorException; import com.yahoo.platform.yui.compressor.JavaScriptCompressor; public class Uglify { public static void main(String[] args) { try { String js = FileUtils.readFileToString(new File("src/main/webapp/js/jquery1.6.1.min.js")); js += FileUtils.readFileToString(new File("src/main/webapp/js/raphael.js")); js += FileUtils.readFileToString(new File("src/main/webapp/js/plugins.js")); js += FileUtils.readFileToString(new File("src/main/webapp/js/datepicker.js")); js += FileUtils.readFileToString(new File("src/main/webapp/js/fluxtream.js")); JavaScriptCompressor compressor = new JavaScriptCompressor(new StringReader(js), new YuiCompressorErrorReporter()); FileWriter fw = new FileWriter("src/main/webapp/js/flx-min.js"); compressor.compress(fw, 0, false, false, false, false); fw.close(); } catch (IOException e) { e.printStackTrace(); } } static class YuiCompressorErrorReporter implements ErrorReporter { public void warning(String message, String sourceName, int line, String lineSource, int lineOffset) {} public void error(String message, String sourceName, int line, String lineSource, int lineOffset) {} public EvaluatorException runtimeError(String message, String sourceName, int line, String lineSource, int lineOffset) { return new EvaluatorException(message+":line="+line+":lineSource="+lineSource+":lineOffset="+lineOffset); } } }