The OSGi plugin provides a factory method to create an
OsgiManifest
object. OsgiManifest
extends
Manifest
. To learn more
about generic manifest handling, see 「ManifestManifest」. If the Java plugins is applied, the OSGi plugin
replaces the manifest object of the default jar with an OsgiManifest
object. The replaced manifest
is merged into the new one.
OSGiプラグインは
OsgiManifest
オブジェクトを生成するためのファクトリメソッドを提供します。 OsgiManifest
は
Manifest
を継承しています。一般的な manifest 操作に関しての詳細については、
「ManifestManifest」 を参照してください。 Javaプラグインが適用されている場合、OSGiプラグインはデフォルトのjarのmanifestオブジェクトを OsgiManifest
オブジェクトに置き換えます。 置き換えられたmanifestは新しいmanifestにマージされます。
The OSGi plugin makes heavy use of Peter Kriens BND tool.
OSGiプラグインは Peter Kriens の BND tool を大いに活用しています。
To use the OSGi plugin, include the following in your build script:
OSGiプラグインを使うためには、ビルドスクリプトに以下のコードを追加します:
The OSGi plugin adds the following convention object: OsgiPluginConvention
OSGiプラグインは以下の規約オブジェクトを追加します: OsgiPluginConvention
The OSGi plugin does not add any convention properties to the project.
OSGiプラグインはプロジェクトに規約プロパティを追加しません。
The OSGi plugin adds the following methods. For more details, see the API documentation of the convention object.
OSGiプラグインは以下の規約メソッドを追加します。詳細については規約オブジェクトのAPIドキュメントを参照してください。
表37.1 OSGiメソッドOSGi methods
メソッドMethod | 戻り値Return Type | 説明Description |
osgiManifest() |
OsgiManifest
|
OsgiManifestオブジェクトを返す。Returns an OsgiManifest object. |
osgiManifest(Closure cl) |
OsgiManifest
|
クロージャによって構成されたOsgiManifestオブジェクトを返す。Returns an OsgiManifest object configured by the closure. |
The classes in the classes dir are analyzed regarding their package dependencies and the packages they expose.
Based on this the Import-Package and the Export-Package values of the
OSGi Manifest are calculated. If the classpath contains jars with an OSGi bundle, the bundle
information is used to specify version information for the Import-Package
value. Beside the explicit properties of the OsgiManifest
object you can add instructions.
classesディレクトリにあるクラスのパッケージ依存関係と公開するパッケージが解析され、その情報に基づいてOSGi Manifestの Import-Package と Export-Package の値が決定されます。
クラスパスにOSGiバンドル形式のjarがある場合、Import-Packageの値を決定するためにバンドルの情報が参照されます。
OsgiManifest
オブジェクトに明示的にinstructionプロパティを追加することでメタデータを追加できます。
例37.2 OSGiのMANIFEST.MFファイルの設定
build.gradle
jar { manifest { // the manifest of the default jar is of type OsgiManifest name = 'overwrittenSpecialOsgiName' instruction 'Private-Package', 'org.mycomp.package1', 'org.mycomp.package2' instruction 'Bundle-Vendor', 'MyCompany' instruction 'Bundle-Description', 'Platform2: Metrics 2 Measures Framework' instruction 'Bundle-DocURL', 'http://www.mycompany.com' } } task fooJar(type: Jar) { manifest = osgiManifest { instruction 'Bundle-Vendor', 'MyCompany' } }
The first argument of the instruction call is the key of the property. The other arguments form the value.
They are joined by Gradle with the ,
separator. To learn more about the available
instructions have a look at the BND tool.
instruction の第1引数にはプロパティのキー、第2引数には値を指定します。
それらはGradleによって ,
で結合されます。
利用可能な instruction の詳細については BND tool を参照してください。