Antからpnutsのスクリプトを呼ぶ

昨日の続き.khiの日記に載っていたので,ためしにやってみる.


pnutsBSFに対応してることは,Pnuts ユーザーズガイドに書いてあった.
んでやり方.
・bsf.jarをANT_HOME/libに放り込む.
pnuts.jarと関連モジュールをAntのクラスパスに参加させる.
手っ取り早いのはANT_HOME/libに一式放り込めばいいんだけど,せっかくだからantrc_pre.batを作ってみた.

-- antrc_pre.bat --
set LOCALCLASSPATH=<
for %%i in ("%PNUTS_HOME%\modules\*.jar") do call lcp %%i<
set CLASSPATH=%LOCALCLASSPATH%<

PNUTS_HOME/modulesのpnuts-bsf-2.2.jarが邪魔なので消すなりリネームするなりしておくこと.
いじょ.


あとはこんなビルドスクリプトを実行してみた.むろん期待通りの結果になりましたよ.

<?xml version="1.0" encoding="utf-8" ?>
<project name="testproject" default="pnuts" basedir=".">
  <property name="hoge" value="foo.bar.boo" />
  <target name="pnuts">
    <script language="pnuts">
      println(project.getProperty("hoge"));
    </script>
    <script language="pnuts">
      e = project.createTask("echo")
      e.message = "Hello, pnuts!"
      e.perform()
    </script>
  </target>
</project>

その実行結果.

>ant
Buildfile: build.xml

pnuts:
   [script] foo.bar.boo
     [echo] Hello, pnuts!

BUILD SUCCESSFUL
Total time: 1 second

おもしれぇな,これ.:-D