在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 物聯(lián)網(wǎng)/ OSGi 插件
問(wèn)題反饋
Gradle 插件
Scala 插件
Gradle 命令行的基本使用
任務(wù)詳述
安裝
概述
教程-雜七雜八
構(gòu)建環(huán)境
依賴管理基礎(chǔ)
使用 Gradle 圖形用戶界面
使用文件
CodeNarc 插件
Sonar 插件
Groovy 插件
Sonar Runner 插件
OSGi 插件
Ear 插件
Gradle 守護(hù)進(jìn)程
Java 插件
簡(jiǎn)介
構(gòu)建基礎(chǔ)
FindBugs 插件
Groovy 快速入門
JaCoCo 插件
PMD 插件
War 插件
Checkstyle 插件
日志
Java 構(gòu)建入門
Jetty 插件
從 Gradle 中調(diào)用 Ant
標(biāo)準(zhǔn)的 Gradle 插件
Web 工程構(gòu)建
JDepend 插件
編寫構(gòu)建腳本

OSGi 插件

OSGi 插件提供了工廠方法來(lái)創(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)建腳本中包含以下語(yǔ)句:

使用 OSGi 插件

build.gradle

apply plugin: 'osgi'   

隱式應(yīng)用插件

適用于 Java 基礎(chǔ)插件。

任務(wù)

此插件不會(huì)添加任何任務(wù)。

依賴管理

待決定

約定對(duì)象

OSGi 插件添加了下列約定對(duì)象: OsgiPluginConvention

約定屬性

OSGi 插件沒(méi)有向 project 添加任何的公約屬性。

約定方法

OSGi 插件添加了以下方法。有關(guān)更多詳細(xì)信息,請(qǐng)參見(jiàn)約定對(duì)象的 API 文檔。

表 37.1. OSGi 方法

方法 返回類型 描述
osgiManifest() OsgiManifest 返回一個(gè) OsgiManifest 對(duì)象。
osgiManifest(Closure cl) OsgiManifest 返回一個(gè)通過(guò)閉包配置的 OsgiManifest 對(duì)象。

在 classes 目錄下的類文件會(huì)被分析出關(guān)于它們的包的依賴,以及它們所公布的包名。并基于此計(jì)算 OSGi Manifest 中 Import-Package 和 Export-Package 的值。如果 classpath 中包含了 jar 包和 OSGi bundle,bundle 信息會(huì)被用來(lái)指定 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 使用,分隔符連接。要了解更多關(guān)于 instructions 的信息,可以看看 BND tool