ソースバンドルフィーチャーを自動生成
Eclipse Plug-inのソースバンドルフィーチャーを作るのが異常なほど面倒だったので、なんかないかなーと調べたところ発見。
PDEBuild/Individual Source Bundles - Eclipsepedia にやり方が書いてありますが、なんか不明瞭+いくつか情報が落ちてたので改めてまとめておきます。
まず、フィーチャーの build.properties を次のように変更。
- build.properties
bin.includes = feature.xml,\ feature_ja.properties,\ feature.properties generate.feature@org.ashikunep.yukara.wisdom.source = \ org.ashikunep.yukara.wisdom.feature
これだけで org.ashikunep.yukara.wisdom.feature というフィーチャーが利用するすべてのプラグインに対して、 org.ashikunep.yukara.wisdom.source って言う名前のフィーチャーとソースバンドルプラグインを作ってくれるはず…が、feature.xml もいじってこのフィーチャーをincludesに追加しないとだめみたい。
- feature.xml
<?xml version="1.0" encoding="UTF-8"?> <feature id="org.ashikunep.yukara.wisdom.feature" label="%plugin.brand" version="0.0.0" provider-name="%author"> ... <includes id="org.ashikunep.yukara.wisdom.source" version="0.0.0"/> ...
ちなみに、Eclipse 3.4のエディタだと警告が出ます、が無視してOK。とりあえず以上の2つでソースバンドルフィーチャーとプラグインを自動生成してくれます。
ただ、これだけだとフィーチャーの名前やらベンダー名などが残念な感じになるので、次のようなファイル構成をフィーチャーのプロジェクト直下に作ります。
- org.ashikunep.yukara.wisdom.feature/ (フィーチャープロジェクトルート)
- sourceTemplateFeature/
- feature.properties
- sourceTemplatePlugin/
- plugin.properties
- sourceTemplateFeature/
今回は簡略化のために配置したファイルはfeature.propertiesとplugin.propertiesだけですが、実際は生成されるフィーチャーとプラグインに対応するディレクトリの内容が丸まるコピーされるので、ライセンス情報やらなんやらを配置しておくとよいかと思います。
sourceTemplateFeature/feature.properties は、生成されるソースバンドルフィーチャーにコピーされるもので、オリジナルのfeatureと同じexternalizationが掛かっています。なので、オリジナルのfeature.propertiesをコピーして項目を書き換えればOK。
sourceTemplatePlugin/plugin.properties は、生成されるソースバンドルプラグインにコピーされるもので、下記のような形にすればOK。
#Properties file for org.ashikunep.yukara.wisdom.source Plug-in providerName = The Ashikunep Kotan pluginName = Yukara Wisdom Source
こちらのproviderName, pluginNameというのはどうやら固定っぽいです。
ともあれ、月末リリースの予定なので何とか間に合ってよかったです。ちなみにIrenkaのときは、CustomBuildCallbacksを使って手動でバージョン番号の調整とかやってた…orz