W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
OSGi 插件提供了工廠方法來創(chuàng)建一個(gè) OsgiManifest 對(duì)象。OsgiManifest 繼承自 Manifest。如果應(yīng)用了 Java 插件,OSGi 插件將把默認(rèn) jar 的 manifest 對(duì)象替換為一個(gè) OsgiManifest 對(duì)象。被替換的 manifest 會(huì)被合并到新的對(duì)象單中。
OSGi 插件使 Peter Kriens BND tool 大量使用。
要使用 OSGi 插件,請(qǐng)?jiān)跇?gòu)建腳本中包含以下語句:
使用 OSGi 插件
build.gradle
apply plugin: 'osgi'
適用于 Java 基礎(chǔ)插件。
此插件不會(huì)添加任何任務(wù)。
待決定
OSGi 插件添加了下列約定對(duì)象: OsgiPluginConvention
OSGi 插件沒有向 project 添加任何的公約屬性。
OSGi 插件添加了以下方法。有關(guān)更多詳細(xì)信息,請(qǐng)參見約定對(duì)象的 API 文檔。
表 37.1. OSGi 方法
方法 | 返回類型 | 描述 |
osgiManifest() | OsgiManifest | 返回一個(gè) OsgiManifest 對(duì)象。 |
osgiManifest(Closure cl) | OsgiManifest | 返回一個(gè)通過閉包配置的 OsgiManifest 對(duì)象。 |
在 classes 目錄下的類文件會(huì)被分析出關(guān)于它們的包的依賴,以及它們所公布的包名。并基于此計(jì)算 OSGi Manifest 中 Import-Package 和 Export-Package 的值。如果 classpath 中包含了 jar 包和 OSGi bundle,bundle 信息會(huì)被用來指定 Import-Package 的值的版本信息。在 OsgiManifest 對(duì)象的顯式屬性旁邊,你可以添加 instructions。
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'
}
}
instruction 調(diào)用的第一個(gè)參數(shù)是屬性的鍵。其他參數(shù)構(gòu)成了它的值。他們由 Gradle 使用,分隔符連接。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: