eclipse3.1でプラグインをビルドするには。
eclipseプラグインを開発し始めて、最初にハマるのは、ビルドです。
プラグインプロジェクトだけを作って、
「Launch an Eclipse Application」をしてるだけなら、全然動いているのに、
pluginの.jarファイルを作ってインストールしてみると、
なにやら色々エラーがでてサッパリ動かない…なんて事になります。
僕も、最初は何だか苦労した覚えがあります。
僕の場合は、id:koichikさんが、Diiguのプラグインをちゃんとリリース出来る様にプロジェクトを足したり、plugin.xmlやMANIFEST.MFを調整してくれたりしたので、
Doltengではそれを参考に何とか乗り越えられましたが、ハテサテ…
プロジェクトは3つ。
最初のポイントは、以下に挙げる3つのプロジェクトがある事です。
- feature
- Pluginやfragmentを、一つのフィーチャとしてまとまりがある事を定義する。
- plugin
- 本体。開発が進めば、fragmentプロジェクトを作ったりすんのも悪くないかも。
但し、JDTは機能がフラグメントにならず、全部plugin。コアはfragmentでもイイんじゃねぇかとおもうのだけれど…。
- 本体。開発が進めば、fragmentプロジェクトを作ったりすんのも悪くないかも。
- site
FeatureとPluginのバージョン。
まずは、「Plugin Manifest Editor」で、plugin.xmlを開きます。
んで、今までよりも大きい数字に変更するます。
次に、「Feature Manifest Editor」で、feature.xmlを開きます。
feature.xmlで定義したVersionとplugin.xmlで定義したバージョンは、
本来、それぞれ全く別個のモノです。でも、面倒なので同じ値にしています。
まずは、feature.xmlのVersionを、前よりも大きい数字にするます。
んで、下のタブから、「Plug-ins」をクリックします。
ここでは、一つのfeatureとして一まとめにするPluginやらFragmentを設定するます。
まずは、「Add ...」ボタンを押下して、featureに含めたいPluginを選びます。
Doltengの場合、org.sesasar.dolteng.eclipseしかありません。
二度目以降のビルドでは、既にPluginが設定されているけれども、バージョンが古い状態になっている筈なので、
「Versions ...」ボタンを押して、Pluginのバージョンをコピーしてきます。
マレに、plugin.xmlのバージョンを新しくしているのに、
新しいバージョンに変わらない事があるます。
原因は分りませんが、何やらアヤシゲな事になっているのは、間違いありません。
そんな時は、一旦、開いているfeature.xmlやplugin.xmlを閉じた上で、
eclipseを再起動すると、イイ感じに動きます。
Update Siteな感じにビルドする。
次は、「Site Manifest Edtior」で、site.xmlを開きます。
とりあえずは、テキトーなCategoryを追加するます。
んで、そのカテゴリを選んだ状態で、「Add Feature...」ボタンを押します。
出てきたダイアログで、そのサイトから配布したいFeatureを選びます。*1
featureにpluginを追加する時と同じ様に、ここでも、新しいFeatureがでて来ない事があるので、注意。
ハマったら、eclipseを再起動して下さいナ。
よくやる間違いは、plugin.xmlのバージョンは上げたけど、
feature.xmlのバージョンを上げ忘れる事です。
何度やっても新しいバージョンの「feature」は出て来ません……orz。*2
ここまで準備できたら、ビルド出来ます。
追加したばっかりのFeatureを選択状態にすると、*3
「Build」ボタンが押下出来る様になるので、ポチっとな・・・・。
site.xmlが配置されているディレクトリと、同じディレクトリにある2つのディレクトリ
- features
- plugins