Gradle
31
编写构建脚本
这一章着眼于一些编写构建脚本的详细信息。
Gradle 构建语言
Gradle 提供一种领域特定语言或者说是 DSL,来描述构建。这种构建语言基于 Groovy 中,并进行了一些补充,使其易于描述构建。
Project API
在Java 构建入门的教程中,我们使用了 apply ()方法。这方法从何而来?我们之前说在 Gradle 中构建脚本定义了一个项目(project)。在构建的每一个项目中,Gradle 创建了一个 Project 类型的实例,并在构建脚本中关联此 Project 对
43
CodeNarc 插件
CodeNarc 插件使用 CodeNarc 对项目的 Groovy 源文件执行质量检查并生成报告。
用法
要使用 CodeNarc 插件,请在构建脚本中包含以下语句:
使用 CodeNarc 插件
build.gradle
apply plugin: 'codenarc'
该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。
任务
CodeNarc 插件向project 中添加了以下任务:
表 30.1. C
24
使用 Gradle 图形用户界面
除了支持传统的命令行界面,Gradle 也提供了一个图形用户界面(GUI)。这是一个独立的用户界面,可以通过加上 --gui 参数来启动。
Launching the GUI
gradle --gui
注意:此命令行窗口被将锁定,直到 Gradle GUI 被关闭。如果是在 linux/unix 系统下,则可以通过(gradle --gui&)让它作为后台任务运行。
如果你在你的 Gradle 项目目录下运行 Gradle GUI,你应该会看到一个任务树。
G
33
FindBugs 插件
FindBugs 插件使用 FindBugs 对项目的 Java 源文件执行质量检查,并从检查结果中生成报告。
用法
要使用 FindBugs 插件,请在构建脚本中包含以下语句:
使用 FindBugs 插件
build.gradle
apply plugin: 'findbugs'
该插件向你的项目添加了大量的执行质量检查的任务。你可以通过运行 gradle check 执行检查。
任务
FindBugs 插件向 project 中添加了以下任务:
表 3
24
使用文件
大多数构建工作都要使用到文件。Gradle 添加了一些概念和 API 来帮助您实现这一目标。
定位文件
你可以使用 Project.file()方法来找到一个相对于项目目录的文件 。
查找文件
build.gradle
// Using a relative path
File configFile = file('src/config.xml')
// Using an absolute path
configFile = file(configFile.absoluteP
28
Java 构建入门
Java 插件
如你所见,Gradle 是一个通用工具。它可以通过脚本构建任何你想要实现的东西,真正实现开箱即用。但前提是你需要在脚本中编写好代码才行。
大部分 Java 项目基本流程都是相似的:编译源文件,进行单元测试,创建 jar 包。使用 Gradle 做这些工作不必为每个工程都编写代码。Gradle 已经提供了完美的插件来解决这些问题。插件就是 Gradle 的扩展,简而言之就是为你添加一些非常有用的默认配置。Gradle 自带了很多插件,并且你也可以很容易的编写和分享自己的插
23
日志
日志是构建工具的主要界面。如果日志太多,真正的警告和问题容易被隐藏。另一方面,如果出了错,你需要找出相关的信息。Gradle 定义了6个日志级别,如表 18.1,“日志级别”所示。除了那些您通过可能会看到的日志级别之外,有两个 Gradle 特定日志级别。这两个级别分别是 QUIET 和 LIFECYCLE. 默认使用后面的这个日志级别,用于报告构建进度。
表 18.1. 日志级别Level用于ERROR错误消息QUIET重要的信息消息WARNING警告消息LIFECYCLE进度信息消息INFO信息
24
Jetty 插件
Jetty 插件继承自 War 插件,并添加一些任务,这些任务可以让你在构建时部署你的 web 应用程序到一个 Jetty 的 web 嵌入式容器中。
用法
要使用 Jetty 的插件,请在构建脚本中包含以下语句:
使用 Jetty 插件
build.gradle
apply plugin: 'jetty'
任务
Jetty 插件定义了以下任务:
表 28.1. Jetty 插件 - 任务任务名称依赖于类型描述jettyRuncompilejettyRun启动 J