技術的雑談-AntでIDLをコンパイル
目的
フリーAnt用のIDLコンパイルタスクの「idldepend」の使い方の紹介です。
idldepend
フリーのAnt Taskのidl depend?を使います。
今回はJacORBを使いますが、このタスク自身はIDLコンパイラを含まないので注意してください。(先にJacORBをセットアップしておく必要があります。)
特徴
- いろんなCORBAランタイムに対応しているみたいです。(JacORB,Orbix,JDKなど)
- IDLコンパイルの高速化のため、IDLの変更を「depend」ディレクトリに記憶しておいて、それを参照しながらやっているみたいです。(でも大して速いわけではない。)
- Ant Taskなので、Eclipseからでもコマンドプロンプトからでも利用できます。Antが使えればイロイロカスタマイズ可能です。
入手方法
上記Webページから入手してAntでbuildします。(つまりAnt必須です)
ここでは仮に、出来上がったjarをC:\idldepend\idldepend-0.7.1.jarに置いてあるものとします。
Eclipse上での使用方法
「idl.xml」ファイルをプロジェクトのルートディレクトリに置きます。(別にルートじゃなくてもいいんですが…。)
<?xml version="1.0"?> <project default="idl" basedir="."> <property file="idl.properties" /> <taskdef name="idlcheck" classname="idldepend.IDLCheckerTask" classpath="${idldepend.classpath}"/> <target name="idl" depends="dirs"> <idlcheck compiler="jacorb2" force="false" checkAll="false" verbose="debug" targetdir="${idldepend.targetdir}" dependsdir="${idldepend.dependsdir}"> <fileset dir="${idldepend.idldir}"> <include name="*.idl"/> </fileset> </idlcheck> </target> <target name="dirs"> <mkdir dir="${idldepend.targetdir}" /> <mkdir dir="${idldepend.dependsdir}" /> </target> </project>
同じディレクトリに「idl.properties」ファイルを作ります。
idldepend.classpath=C:/idldepend/idldepend-0.7.1.jar ←idldepend-0.7.1.jarの場所 idldepend.dependsdir=idl/depends ←idldependで一時ファイルを作るディレクトリ idldepend.targetdir=src ←IDLをコンパイルしてできる*.javaファイルを置くディレクトリ idldepend.idldir=idl ←コンパイル対象のIDLファイルがあるディレクトリ
以上の項目をセットします。
パッケージエクスプローラーからidl.xmlを右クリックし、[Debug]か[Run]から[Ant...]を選択します。
Targetの[idl]を選択して実行します。(もしエラーがでる場合は、Runtimeを[Eclipseと同じ]を選択した状態でやってみてください。)
コンソールにログが流れ、IDLがコンパイルされてJavaのソースが作られます。
履歴
2005/7/14 -- 初版
技術的雑談へ戻る