1

背景:与git的持续集成

我有这个简单的 shell 脚本:

#!/bin/sh

files=`find $1 -type f -name "*.js"`

for i in $files;
do
  echo "closure compile: $i"
  java -client -jar /var/closure-compiler/compiler.jar --js $i --js_output_file $i --compilation_level SIMPLE_OPTIMIZATIONS
done

post-receive在一个钩子中被调用,之后git checkout -f

本质上,我想压缩(但不合并)工作目录(实际上是网站根目录)中的所有 javascript 文件。

问题

每个java显然都启动了一个自己的 JVM,这大约需要 3 秒,而编译器本身(启动时)只需要几分之一秒。如果我有 10 个 js 文件,这是 30 秒的等待时间。虽然这对我来说实际上是积极的,但我想尽量减少这段时间。

我查看了--module参数,它可以让我定义“多个输出文件”,但它将它们都放在同一个目录中。

我愿意接受建议。

4

1 回答 1

2

人们使用 Nailgun 取得了很好的成功:http: //www.martiansoftware.com/nailgun/

这使JVM保持加载。

于 2013-03-15T15:56:32.257 回答