当前位置:K88软件开发文章中心编程工具Gradle → 文章内容

Gradle OSGi 插件

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:31:55

由 珍珍阿姨 创建,youj 最后一次修改 2016-08-12 OSGi 插件OSGi 插件提供了工厂方法来创建一个 OsgiManifest 对象。OsgiManifest 继承自 Manifest。如果应用了 Java 插件,OSGi 插件将把默认 jar 的 manifest 对象替换为一个 OsgiManifest 对象。被替换的 manifest 会被合并到新的对象单中。OSGi 插件使 Peter Kriens BND tool 大量使用。用法要使用 OSGi 插件,请在构建脚本中包含以下语句: 使用 OSGi 插件build.gradle apply plugin: 'osgi' 隐式应用插件适用于 Java 基础插件。任务此插件不会添加任何任务。依赖管理待决定约定对象OSGi 插件添加了下列约定对象: OsgiPluginConvention约定属性OSGi 插件没有向 project 添加任何的公约属性。约定方法OSGi 插件添加了以下方法。有关更多详细信息,请参见约定对象的 API 文档。表 37.1. OSGi 方法方法返回类型描述osgiManifest()OsgiManifest返回一个 OsgiManifest 对象。osgiManifest(Closure cl)OsgiManifest返回一个通过闭包配置的 OsgiManifest 对象。在 classes 目录下的类文件会被分析出关于它们的包的依赖,以及它们所公布的包名。并基于此计算 OSGi Manifest 中 Import-Package 和 Export-Package 的值。如果 classpath 中包含了 jar 包和 OSGi bundle,bundle 信息会被用来指定 Import-Package 的值的版本信息。在 OsgiManifest 对象的显式属性旁边,你可以添加 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 调用的第一个参数是属性的键。其他参数构成了它的值。他们由 Gradle 使用,分隔符连接。

Gradle OSGi 插件