关闭

Gradle 1.12用户指南翻译——第三十七章. OSGi 插件

标签: Gradle 教程Gradle 翻译Gradle 构建OSGi插件
1811人阅读 评论(0) 收藏 举报
分类:

本文由CSDN博客万一博主翻译,其他章节的翻译请参见:

http://blog.csdn.net/column/details/gradle-translation.html

翻译项目请关注Github上的地址:

https://github.com/msdx/gradledoc/tree/1.12。

直接浏览双语版的文档请访问:

http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。

另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.2.1版本兼容 android 2.2以上系统,地址如下:

http://www.wandoujia.com/apps/com.githang.gradledoc

翻译不易,转载请注明本文在CSDN博客上的出处:

http://blog.csdn.net/maosidiaoxian/article/details/46825947

关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如有发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。





第三十七章. OSGi 插件

OSGi 插件提供了工厂方法来创建一个OsgiManifest对象。OsgiManifest 继承自 Manifest。要了解常见的清单处理的更多信息,请参阅第 23.13.1节,“Manifest”。如果应用了 Java 插件,OSGi 插件将把默认 jar 的 manifest 对象替换为一个OsgiManifest对象。被替换的manifest 会被合并到新的对象单中。

OSGi 插件使 Peter Kriens BND tool 大量使用。

37.1. 用法

要使用 OSGi 插件,请在构建脚本中包含以下语句:

示例 37.1. 使用 OSGi 插件

build.gradle

apply plugin: 'osgi'

37.2. 隐式应用插件

适用于 Java 基础插件。

37.3. 任务

此插件不会添加任何任务。

37.4. 依赖管理

待决定

37.5. 约定对象

OSGi 插件添加了下列约定对象: OsgiPluginConvention

37.5.1. 约定属性

OSGi 插件没有向 project 添加任何的公约属性。

37.5.2. 约定方法

OSGi 插件添加了以下方法。有关更多详细信息,请参见约定对象的 API 文档。

表 37.1. OSGi 方法

方法 返回类型 描述
osgiManifest() OsgiManifest 返回一个 OsgiManifest 对象。
osgiManifest(Closure cl) OsgiManifest 返回一个通过闭包配置的 OsgiManifest 对象。

在classes 目录下的类文件会被分析出关于它们的包的依赖,以及它们所公布的包名。并基于此计算 OSGi Manifest 中Import-PackageExport-Package的值。如果 classpath 中包含了 jar 包和 OSGi bundle,bundle 信息会被用来指定 Import-Package的值的版本信息。在 OsgiManifest 对象的显式属性旁边,你可以添加instructions。

示例 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'
    }
}

instruction 调用的第一个参数是属性的键。其他参数构成了它的值。他们由 Gradle 使用,分隔符连接。要了解更多关于 instructions 的信息,可以看看BND tool


1
0
查看评论

Gradle与Makefile构建工具的对比

Gradle与Makefile构建工具的对比 转自 http://ticktick.blog.51cto.com/823160/1688586 随着Android Studio的普及,越来越多的Android开发者也要开始了解和学习Gradle这款强大的代码构建工具了。我们...
  • skykingf
  • skykingf
  • 2015-09-02 15:55
  • 1565

Gradle的安装和配置

Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具可以切换的,基于约定的构建框架强大的多工程构建支持基于Apache Ivy的强大的依赖管理支持maven, Ivy仓库支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件。对Ant的...
  • u013473691
  • u013473691
  • 2016-01-08 09:32
  • 2238

Gradle 1.12用户指南翻译——第二十二章. 标准的 Gradle 插件

第二十二章. 标准的 Gradle 插件 Gradle 的发行包中有大量的插件。如下列所示: 22.1. 语言插件 这些插件添加了让各种语言可以被编译和在JVM执行的支持。 表 22.1. 语言插件 插件 Id 自动应用 与什么插件一起使用 描述 java java-base - 向一个项目...
  • maosidiaoxian
  • maosidiaoxian
  • 2015-04-27 09:09
  • 2393

Gradle 1.12用户指南翻译——第二十一章. Gradle 插件

第二十一章. Gradle 插件 Gradle 在它的核心中有意地提供了一些小但有用的功能,用于在真实世界中的自动化。所有有用的功能,例如以能够编译 Java 代码为例,都是通过插件进行添加的。插件添加了新任务 (例如JavaCompile),域对象 (例如SourceSet),约定(例如主要的 J...
  • maosidiaoxian
  • maosidiaoxian
  • 2014-12-17 09:23
  • 7700

Gradle 1.12用户指南翻译——第五十章. 依赖管理

50.1. 介绍 依赖管理是每个构建的关键特性,并且 Gradle 强调提供最好的依赖管理,容易理解以及使用各种各样的方法来兼容。如果您熟悉使用 Maven 或 Ivy 的方法,那么你会很高兴地知道,Gradle 完全兼容这两种方法,除此之外,它还有足够的灵活性,以支持完全自定义的方法。 这里是 ...
  • maosidiaoxian
  • maosidiaoxian
  • 2016-12-13 22:52
  • 1330

gradle插件用户指南(翻译)

http://www.open-open.com/lib/view/open1428320744713.html
  • zcl_love_wx
  • zcl_love_wx
  • 2017-03-23 10:58
  • 517

Gradle 1.12用户指南翻译——第三十五章. Sonar 插件

第三十五章. Sonar 插件 你可能会想使用新的Sonar Runner 插件来代替现在这个插件。尤其是因为只有 Sonar Runner 插件支持 Sonar 3.4 及更高的版本。 Sonar 插件提供了对 Sonar,一个基于 web 的代码质量监测平台的集成。该插件添加了sonarAnal...
  • maosidiaoxian
  • maosidiaoxian
  • 2015-07-06 09:00
  • 2691

Gradle 1.12用户指南翻译——第四十三章. 构建公告插件

构建公告插件目前仍然是孵化状态。请务必注意,在以后的 Gradle 版本中,DSL 和其他配置可能会有所改变。 构建公告插件使用 announce 插件发送构建过程中一些重要事件上的本地公告。 43.1. 用法 要使用构建公告插件,请在生成脚本中包括: 示例 43.1. 使用构建公告插件 bu...
  • maosidiaoxian
  • maosidiaoxian
  • 2015-11-16 09:11
  • 1228

Gradle 1.12用户指南翻译——第三十三章. PMD 插件

第三十三章. PMD 插件 PMD 插件使用PMD对项目的 Java 源文件执行质量检查,并从检查结果中生成报告。 33.1. 用法 要使用 PMD 插件,请在构建脚本中包含以下语句: 示例 33.1. 使用 PMD 插件 build.gradle apply plugin: 'pmd...
  • maosidiaoxian
  • maosidiaoxian
  • 2015-06-26 09:48
  • 2076

Gradle 1.12用户指南翻译——第四十七章. Build Init 插件

第四十七章. Build Init 插件 Build Init 插件目前仍然是孵化状态。请务必注意,在以后的 Gradle 版本中,相关的 DSL 和其他配置可能会有所改变。 Gradle Build Init 插件可以用于引导创建一个新的 Gradle 构建的过程。它支持创建不同类型的全新项目,以...
  • maosidiaoxian
  • maosidiaoxian
  • 2016-05-26 09:18
  • 4363
    个人资料
    • 访问:2165872次
    • 积分:14454
    • 等级:
    • 排名:第999名
    • 原创:140篇
    • 转载:0篇
    • 译文:92篇
    • 评论:891条
    欢迎访问我的博客
    个人博客:http://githang.com
    QQ群
    博客专栏
    最新评论
    我的公众号
    微信关注我的公众号
    站长统计