VirgoのサンプルアプリケーションGreenPagesのMANIFEST.MFを見てみましたが、最初意味不明だったのが、数あるインポート宣言。
エクスポートは「Export-Package」だけなのですが、インポートについては
- Import-Package
- Import-Bundle
- Import-Library
と3つもあります…。特に、「Import-Library」って何者?
と頭を抱えていたら、以下の資料を見つけました。
これを見て、ちょっと納得。つまりは、こういうことっぽいです。
「Import-Package」
他のOSGi Bundleの「Export-Package」でエクスポートされたパッケージを、そのパッケージ単位でインポートする指定方法です。
「Import-Bundle」
これ、どうもVirgoの拡張ヘッダっぽいですね。あるOSGi Bundleからパッケージをひとつひとつインポートするんじゃなくて、Bundle単位一括でインポートする指定方法みたいです。バンドル名は、「Bundle-SymbolicName」で書かれた値を指定するようですよ。
「Import-Library」
「Import-Bundle」と同じく、Virgoの拡張ヘッダの模様。「Import-Bundle」でOSGi Bundleを束め、それをライブラリとして定義してインポートできるようにする指定方法みたいです。ライブラリ名は、「Library-SymbolicName」で書かれた値を指定するようですよ。
…とりあえず、なんとなく読めそうです。あと、バージョン指定のところがまだ一部ハッキリしていません。