早速、Groovyで簡単なファイルのリストを作るスクリプトを書きました。
と、いっても、これはGroovyだけでなく、
Gant
の記事でもあったりする。お題 : ある特定のフォルダにあるファイルの一覧を取得して、「;(セミコロン)」でつないで表示する。
import groovy.io.FileType
libDir = 'C:/Users/mike/IdeaProjects/Slim3Sample-03/war/WEB-INF/lib'
def libs = []
new File(libDir).eachFile(FileType.FILES){
libs << 'lib/' + it.getName()
}
println libs.join(';')
このソースをご覧になるとわかると思いますが、
Slim3
のライブラリーの一覧を取得するスクリプトです。結果はこうなります。
lib/appengine-api-1.0-sdk-1.5.0.jar;lib/appengine-api-labs-1.5.0.jar;lib/junit-4.7.jar;lib/ktrwjr.jar;lib/slim3-1.0.11.jar
まあ、とくにどうということもないのですが、これを
Ant
でコンパイルせぇ!と言われた時に、このスクリプトは役立ちます。改題 : AntをGroovyから実行せよ
Gant
を使います。
import groovy.io.FileType
srcDir = 'src'
bldDir = 'bin'
def libs = []
libDir = 'lib'
new File(libDir).eachFile(FileType.FILES){
libs << 'lib/' + it.getName()
}
includeTargets << gant.targets.Clean
cleanPattern << '**/*~'
cleanDirectory << bldDir
target(compile : 'Compile java file into build directory'){
depends(clean)
javac(srcdir : srcDir, destDir : bldDir, classpath : libs.join(';'))
}
target(hello : 'default task'){
echo(message : 'to compile java sources use : gant compile')
}
setDefaultTarget(hello)
Ant
のbuildファイルを作成するときに一番嫌なのは、classパスを色々とかくことで、これがGroovyで引っ張ってこれるなら、そうしておいたほうがらくでいいですね。あとは、おもむろに次のコマンドを打てばおしまい。
gant compile
0 件のコメント:
コメントを投稿