2005-01-01から1年間の記事一覧

JAR ファイルを作る その 5

で、どうするかというとやっぱり org.eclipse.jface.dialogs.Dialog をそのまま使ってみようかと思います。まずはダイアログをそのまま表示するところから。 public void run(IAction action) { IWorkbench workbench = WrpePlugin.getDefault().getWorkbenc…

JAR ファイルを作る その 4

ついでなので、他にどんなダイアログがあるのか調べていきます。org.eclipse.ui.dialogs には次のようなクラスが定義されています (abstract、depricated は除外してあります)。 CheckedTreeSelectionDialog ContainerSelectionDialog ElementListSelectionD…

JAR ファイルを作る その 3

さて、メニューを選択されたときの中身を作りましょう。LG3D の JAR の MANIFEST.MF に記述する情報は アプリケーションのタイトル メインクラス名 アイコンのファイル名 設定ファイル名 この中で必須なのは、タイトルとメインクラスです。これ以外に、JAR …

Bug みっけ

普段は Windows で作っているのですが、Linux でも試してみました。と、やっぱりバグが。とても単純なので、書きたくないぐらいですが... ファイルセパレータを間違えました ^^;; "\" をファイルセパレータに使っていたのです。だめですね、ちゃんと検証しな…

JAR ファイルを作る その 2

というわけで、objectContribution に filter を追加してみました。必須のアトリビュートは name と value。というかアトリビュートはこれしかないんですけどね。Tomcat Plug-in だと name が project Nature。って、ナンの意味なんでしょ?まぁ、いいや。と…

JAR ファイルを作る その 1

この機能を作れば、とりあえず使い物になるかなというところです。Project Looking Glass では JAR ファイルを使用して、アプリケーションをデプロイするからです。といっても、どこから手をつければいいか全然わかっていないんですけどね ^^;;そういえば、T…

Javadoc を組み込む その 4

昨日、Javadoc を組み込めなかった原因が分かったので、今日は再挑戦。LG3DProjectWizard#perfromFinish を次のようにしてみました。 IPreferenceStore store = WrpePlugin.getDefault().getPreferenceStore(); String home = store.getString(WrpePlugin.LG…

Javadoc を組み込む その 3

どういう設定をすればいいのか分からなくなってしまったので、ちょっと視点を変えてみます。LG3D のプロジェクトで lg3d-core.jar のプロパティで Javadoc の場所を指定して、JavaProject の CLASSPATH を見てみようというわけです。で、WrpeLaunchConfigura…

Javadoc を組み込む その 2

IClasspathAttribute オブジェクトに Javadoc の情報が保持されているようだということは分かったのですが、実際に IClasspathAttribute オブジェクトの name と value にはいったいどのような値が設定されているのでしょうか。それをまず調べてみたいと思い…

Javadoc を組み込む その 1

Eclipse の機能の 1 つに Javadoc を表示するというのがありますね。LG3D 3D API に関しても、同じように Javadoc を表示したいのすね。実際は Project Looking Glass の Javadoc はかなり貧弱なので、表示してもあまり意味はないのですが、今後充実してくる…

Plug-in をエクスポートする

ある程度、ソースができたので、ここらで一度、本当に Plug-in としてエクスポートしてみたいと思います。といってもどうやるのかよく分かっていないのですが... ^^;;とりあえず Eclipse を立ちあげて、MANIFEST エディターを開いてみましょう。エクスポート…

アプリケーションの実行 その 2

昨日はとりあえず、実行できるところまでは試してみました。もうすこし、ちゃんと動作しているか試してみます。 Debug モード 適当なところにブレークポイントを設定して Debug モードで実行してみました。実行してみると、ちゃんとデバッグすることができま…

アプリケーションの起動

クラスパスの取得方法は分かっりました。忘れないうちに WrpeLaunchConfigurationDelegate クラスに組み込んでおきます。 private String[] extractClasspath(ILaunchConfiguration configuration, String home) throws CoreException { List<String> classpath = ne</string>…

JUnit Plug-in での起動を調べる その 4

今日は、envp という変数からです。 String[] envp= DebugPlugin.getDefault().getLaunchManager().getEnvironment(configuration);これを WrpeLaunchConfigurationDelegate#launch メソッドに組み込んで試してみました。 String[] envp= DebugPlugin.getDef…

JUnit Plug-in での起動を調べる その 3

引き続き JUnit Plug-in を調べていきましょう。昨日は IType を取得するところまでいったので、次の VMRunnerConfiguration オブジェクトを取得するところです。 JUnitBaseLaunchConfiguration#launch の中では launchTypes メソッドをコールして VMRunnerC…

JUnit Plug-in での起動を調べる その 2

さて、JUnit Plug-in の続きです。もう一度 launch メソッドを参照しておきます。 public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor pm) throws CoreException { IType[] testTypes = getTestTypes(c…

JUnit Plug-in での起動を調べる その 1

今日はあまり時間がなかったので、思ったように進みませんでした。昨日、Project Looking Glass を実行させるだけはできましたが、いろいろと足りないことがあります。そこで、JUnit Plug-in ではどうやっているんだろうと調べてみました。WrpeLaunchConfigu…

起動

さて、起動です。起動させるには、LaunchConfigurationDelegate の派生クラスである WrpeLaunchConfigurationDelegate クラスの launch メソッドを書けばいいということは分かります。launch メソッドの引数は ILaunchConfiguration configuration, String m…

org.eclipse.debug.core.launchConfigurationTypes 拡張ポイント その 4

昨日はいいところで時間切れ。ということで、昨日の続きです。昨日の plugin.xml で実行すると、なぜか Java Application のアイコンが変更されてしまったのでした。で、ドキュメント (Launch configuration type images) をちゃんと読んでみると、plugin.xm…

org.eclipse.debug.core.launchConfigurationTypes 拡張ポイント その 3

また、アプリケーションの起動に話は戻ります。まだまだ、拡張ポイントの追加は続くのです。つづいて、たぶん本命だろうと思われる拡張ポイント launchConfigurationTabGroups です。この拡張ポイントが実行のコンフィギュレーションをおこなう右側のパネル…

java.net への登録の結果

9/14 に書きましたが、この plugin を java.net に登録してみました。で、今日その結果がきました。 Sorry, your request for hosting of the lg3d-eclipse-plugin project has been disapproved. ということで、ダメでした ^^;;理由を読んでみると Eclipse …

org.eclipse.debug.core.launchConfigurationTypes 拡張ポイント その 2

launchConfigurationType の delegate に指定するクラスを新規作成してみました。でも、やっぱりエラーダイアログが表示されてしまいます。やっぱり何か足りなさそうなので、Program debug and launch support ドキュメントの続き。それにしてもこのドキュメ…

org.eclipse.debug.core.launchConfigurationTypes 拡張ポイント

昨日の Program debug and launch support を読んでいます。とりあえず、launchConfigurationTypes 拡張ポイントを使うことで、起動の選択肢が作れるらしいということが分かりました。さっそく、やってみました。MANIFEST エディターで launchConfigurationT…

JUnit Plugin を調べる

JUnit のソースをごらんになったことがあるでしょうか。長くないし、あの Kent Beck が書いたわけですから、コードの勉強するにはとてもいい教材です。で、Eclipse の JUnit Plugin もシンプルなんだろうと思っていたら、そんなことありませんでした (泣)と…

Run.../Debug...

だんだんと佳境に入ってきたこの LG3D WRPE Plug-in ですが (WRPE ってあんまり意味がないと思いだしてきましたが... ^^;;)、とうとうアプリケーションを起動させるところまできました。思えば長い (そんなに長くないか) 道のりでしたが...で、アプリケーシ…

java.net に登録してみた

プロジェクトの置き場をどうしようという話を以前書きましたが、その後川原さんとも相談して、java.net に登録してみたらということになりました。まぁ、java.net でだめだったら、SourceForge で登録すればいいんだし。ということで、java.net に登録。java…

よけいなクラスを出したくない

ここまで作ってきたコードで LG3D のプロジェクトを作ることができました。プロジェクトができてしまえば、あとは普通のプロジェクトのようにクラスを作ってコンパイルしてというところまではできるようになりました。よかった、よかった。ところがサンプル…

LG3DHOME が変更されたらどうするか その 2

IJavaProject の取り方は分かりました。IProject や IJavaProject は IWorkbenchWindows に結びつけられているんですね。window が IWorkbenchWindows だとすると次のようなコードで IProject や IJavaProject が取得できるようです。 ISelection selection=…

LG3DHOME が変更されたらどうするか

昨日の懸念というのは、そういことです。今のコードだと、プロジェクトを作成したときに LG3DHOME を使用して lg3d-core.jar を CLASSPATH に追加しています。しかし、LG3DHOME が変更されたら、設定された lg3d-core.jar のパスは無効になってしまいます。…

LG3DHOME が設定されてなければ、プロジェクトを作れないようにする

LG3DHOME が設定されていないと、lg3d-core.jar を CLASSPATH に正しく設定することができません。実行時だけに使用する JAR であれば実行するまでに設定しておいてもらえばいいのですが、コンパイル時にも必要なので事前に設定してもらう必要があるのです。…