AntでJavaScriptする。
AnotherNeetNeatな…Tool(以下Ant)ではXMLに色々と設定をかいてビルドするのは言う必要もないのですが、あるフォルダにあるファイル列挙してJavaScriptをRhinoを使ってJavaにコンパイルしたりとかAntタスクに用意されていないものを利用したいと思うとタスクを自作をしたりしないといけなくてなんだかとてももっさり。
というわけでAntでJavaScriptを利用できるように
Antホーム(Antがインストールされているフォルダ)を開いてlibフォルダに以下を置きます。以下でscriptタスクが利用可能に。
- js.jar - Rhino | MDN
- bsf.jar - Apache Commons BSF™ - Bean Scripting Framework
できたけど…Eclipseでは駄目
上記だけで終るならわざわざポストしなくてもgoogleで検索。終了!!!です。でも、Eclipse(3.2)だとどうにもこうにもうまくいかない(半日かかった><)。結論は、以下の設定が必要でした。また、scriptタスク以外のAntオプションタスクではEclipseで利用する場合にはこのような設定が必要です。
[ウィンドウ]→[設定]から[Ant]→[ランタイム]→[タスク]タブにて[タスクの追加]から名前[script]としてEclipseで利用されているAntホームのlibにある【ant-apache-bsf.jar】にあるtaskdefs/optional/Script.classを選択。
Hello Worldする
languageの設定はjavascriptのみ。JavaScriptやJAVASCRIPはアウト。
build.xml
<?xml version="1.0" encoding="UTF-8"?> <project name="Hello" basedir="."> <script language="javascript" src="hello.js"></script> </project>
hello.js
importClass(java.lang.System); System.out.println("foo");
ところで
Antには.NETタスクも存在するのですがJSC(JavaScript Compiler)タスクは用意されていません。が、NAnt(Antの.NET版)JSCタスクが用意されています(<jsc> Task)