OSGi 插件提供了工厂方法来创建一个 OsgiManifest 对象。OsgiManifest 继承自 Manifest。如果应用了 Java 插件,OSGi 插件将把默认 jar 的 manifest 对象替换为一个 OsgiManifest 对象。被替换的 manifest 会被合并到新的对象单中。OSGi 插件使 Peter Kriens BND tool 大量使用。用法要使用 OSGi 插件,请在构建脚本中包含以下语句: 使用 OSGi 插件build.
Sonar runner 插件是目前仍是孵化状态。请务必注意,在以后的 Gradle 版本中,DSL 和其他配置可能会有所改变。 Sonar Runner 插件提供了对 Sonar,一个基于 web 的代码质量监测平台的集成。它基于 Sonar Runner,一个分析源代码及构建输出,并将所有收集的信息储存在 Sonar 数据库的 Sonar 客户端组件。
你可能会想使用新的 Sonar Runner 插件来代替现在这个插件。尤其是因为只有 Sonar Runner 插件支持 Sonar 3.4 及更高的版本。 Sonar 插件提供了对 Sonar,一个基于 web 的代码质量监测平台的集成。该插件添加了sonarAnalyze task ,用来分析一个 project 及子 project 都应用了哪个插件。分析结果存储于 Sonar 数据库中。该插件基于 Sonar Runner,并要求是 Sonar 2.
JaCoCo 插件目前还是孵化中状态。请务必注意,在以后的 Gradle 版本中,DSL 和其他配置可能会有所改变。 JaCoCo 插件通过集成 JaCoCo为 Java 代码提供了代码覆盖率指标。入门要想开始,请将 JaCoCo 插件应用于你想要计算代码覆盖率的项目中。应用 JaCoCo 插件build.
PMD 插件使用 PMD 对项目的 Java 源文件执行质量检查,并从检查结果中生成报告。 用法要使用 PMD 插件,请在构建脚本中包含以下语句:使用 PMD 插件build.gradle apply plugin: 'pmd' 该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。任务PMD 插件向 project 中添加了以下任务:表 33.1.
JDepend 插件使用 JDepend 对项目的源文件执行质量检查,并从检查结果中生成报告。用法要使用 JDepend 插件,请在构建脚本中包含以下语句:使用 JDepend 插件build.gradle apply plugin: 'jdepend' 该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。任务JDepend 插件向 project 中添加了以下任务:表 32.1.
FindBugs 插件使用 FindBugs 对项目的 Java 源文件执行质量检查,并从检查结果中生成报告。用法要使用 FindBugs 插件,请在构建脚本中包含以下语句:使用 FindBugs 插件build.gradle apply plugin: 'findbugs' 该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。任务FindBugs 插件向 project 中添加了以下任务:表 31.1.
CodeNarc 插件使用 CodeNarc 对项目的 Groovy 源文件执行质量检查并生成报告。用法要使用 CodeNarc 插件,请在构建脚本中包含以下语句:使用 CodeNarc 插件build.gradle apply plugin: 'codenarc' 该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。任务CodeNarc 插件向project 中添加了以下任务:表 30.1.
Checkstyle 插件使用 Checkstyle 对你的项目的 Java 源文件执行质量检查,并从检查结果中生成报告。用法要使用 Checkstyle 插件,请在构建脚本中包含以下语句:使用 Checkstyle 插件build.gradle apply plugin: 'checkstyle' 该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。
Jetty 插件继承自 War 插件,并添加一些任务,这些任务可以让你在构建时部署你的 web 应用程序到一个 Jetty 的 web 嵌入式容器中。用法要使用 Jetty 的插件,请在构建脚本中包含以下语句:使用 Jetty 插件build.gradle apply plugin: 'jetty' 任务Jetty 插件定义了以下任务:表 28.1.
Ear 插件添加了用于组装 web 应用程序的 EAR 文件的支持。它添加了一个默认的 EAR archive task。它不需要 Java 插件,但是对于使用了 Java 插件的项目,它将禁用默认的 JAR archive 的生成。用法要使用 Ear 的插件,请在构建脚本中包含以下语句:使用 Ear 插件build.gradle apply plugin: 'ear' TasksEar 插件向 project 中添加了以下任务。表 27.1.
War 的插件继承自 Java 插件并添加了对组装 web 应用程序的 WAR 文件的支持。它禁用了 Java 插件生成默认的 JAR archive,并添加了一个默认的 WAR archive 任务。用法要使用 War 的插件,请在构建脚本中包含以下语句:使用 War 插件build.gradle apply plugin: 'war' 任务War 插件向 project 中添加了以下任务。表 26.1.
Scala 的插件继承自 Java 插件并添加了对 Scala 项目的支持。它可以处理 Scala 代码,以及混合的 Scala 和 Java 代码,甚至是纯 Java 代码(尽管我们不一定推荐使用)。该插件支持联合编译,联合编译可以通过 Scala 及 Java 的各自的依赖任意地混合及匹配它们的代码。例如,一个 Scala 类可以继承自一个 Java 类,而这个 Java 类也可以继承自一个 Scala 类。
Groovy 的插件继承自 Java 插件并添加了对 Groovy 项目的支持。它可以处理 Groovy 代码,以及混合的 Groovy 和 Java 代码,甚至是纯 Java 代码(尽管我们不一定推荐使用)。该插件支持联合编译,可以任意地混合及匹配 Groovy 和 Java 代码各自的依赖。例如,一个 Groovy 类可以继承自一个 Java 类,而这个 Java 类也可以继承自一个 Groovy 类。
Java 插件向一个项目添加了 Java 编译、 测试和 bundling 的能力。它是很多其他 Gradle 插件的基础服务。用法要使用 Java 插件,请在构建脚本中加入:使用 Java 插件build.gradle apply plugin: 'java' 源集Java 插件引入了一个源集的概念。一个源集只是一组用于编译并一起执行的源文件。这些源文件可能包括 Java 源代码文件和资源文件。
Gradle 的发行包中有大量的插件。如下列所示:语言插件这些插件添加了让各种语言可以被编译和在 JVM 执行的支持。语言插件插件 Id自动应用与什么插件一起使用描述javajava-base-向一个项目添加 Java 编译、 测试和捆绑的能力。它是很多其他 Gradle 插件的基础服务。groovygroovy-base-添加对 Groovy 项目构建的支持。
Gradle 在它的核心中有意地提供了一些小但有用的功能,用于在真实世界中的自动化。所有有用的功能,例如以能够编译 Java 代码为例,都是通过插件进行添加的。插件添加了新任务 (例如JavaCompile),域对象 (例如SourceSet),约定(例如主要的 Java 源代码是位于 src/main/java),以及扩展的核心对象和其他插件的对象。
通过 gradle.properties 配置构建环境Gradle 提供了几个选项,可以很容易地配置将用于执行您的构建的 Java 进程。当可以通过 GRADLE_OPTS 或 JAVA_OPTS 在你的本地环境中配置这些选项时,如果某些设置如 JVM 内存设置,Java home,守护进程的开/关,它们可以和你的项目在你的版本控制系统中被版本化的话,将会更有用,这样整个团队就可以使用一致的环境了。
走进守护进程Gradle 守护进程(有时也称为构建守护进程) 的目的是改善 Gradle 的启动和执行时间。我们准备了几个守护进程非常有用的用例。对于一些工作流,用户会多次调用 Gradle,以执行少量的相对快速的任务。举个例子:当使用测试驱动开发时,单元测试会被执行多次。当开发一个 web 应用程序中,应用程序会被组装多次。
日志是构建工具的主要界面。如果日志太多,真正的警告和问题容易被隐藏。另一方面,如果出了错,你需要找出相关的信息。Gradle 定义了6个日志级别,如表 18.1,“日志级别”所示。除了那些您通过可能会看到的日志级别之外,有两个 Gradle 特定日志级别。这两个级别分别是 QUIET 和 LIFECYCLE. 默认使用后面的这个日志级别,用于报告构建进度。表 18.1.
关注时代Java