1

コンテキスト:gitとの継続的インテグレーション

私はこの単純なシェルスクリプトを持っています:

#!/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

基本的に、作業ディレクトリ(実際にはWebサイトのルート)にあるすべてのJavaScriptファイルを圧縮します(ただし、結合はしません)。

問題

それぞれがjava明らかに独自のJVMを起動します。これには約3秒かかりますが、コンパイラ自体(起動時)はほんの一瞬しかかかりません。10個のjsファイルがある場合、これは30秒の待機時間です。これは私にとって実際には前向きなことかもしれませんが、その時間を最小限に抑えたいと思います。

--module「複数の出力ファイル」を定義できるパラメータを調べましたが、すべて同じディレクトリに配置されます。

私は提案を受け付けています。

4

1 に答える 1

2

人々はネイルガンで良い成功を収めています:http: //www.martiansoftware.com/nailgun/

これにより、JVMがロードされたままになります。

于 2013-03-15T15:56:32.257 に答える