- 介绍
- 介绍 - 关于这本指南
- 概述
- 概述 - 特点
- 概述 - 为什么用 Groovy?
- 教程
- 安装Gradle
- 安装Gradle - 准备阶段
- 安装Gradle - 下载与安装
- 安装Gradle - JVM选项
- 排除故障
- 构建脚本基础
- 构建脚本基础 - Projects 和 tasks
- 构建脚本基础 - Hello world
- 构建脚本基础 - 快捷的任务定义
- 构建脚本基础 - 构建脚本代码
- 构建脚本基础 - 任务依赖
- 构建脚本基础 - 动态任务
- 构建脚本基础 - 使用已经存在的任务
- 构建脚本基础 - 短标记法
- 构建脚本基础 - 自定义任务属性
- 构建脚本基础 - 调用 Ant 任务
- 构建脚本基础 - 使用方法
- 构建脚本基础 - 默认任务
- 构建脚本基础 - 通过 DAG 配置
- Java 构建入门
- Java 构建入门 - Java 插件
- Java 构建入门 - 一个基础的 Java 项目
- 一个基础的 Java 项目 - 建立项目
- 一个基础的 Java 项目 - 外部的依赖
- 一个基础的 Java 项目 - 定制项目
- 一个基础的 Java 项目 - 发布 JAR 文件
- 一个基础的 Java 项目 - 创建 Eclipse 项目
- 一个基础的 Java 项目 - 总结
- Java 构建入门 - 多项目的 Java 构建
- 多项目的 Java 构建 - 定义一个多项目构建
- 多项目的 Java 构建 - 通用配置
- 多项目的 Java 构建 - 项目之间的依赖
- 多项目的 Java 构建 - 创建一个发行版本
- 依赖管理的基础知识
- 依赖管理的基础知识 - 什么是依赖管理
- 依赖管理的基础知识 - 声明你的依赖
- 依赖管理的基础知识 - 依赖配置
- 依赖管理的基础知识 - 外部的依赖
- 依赖管理的基础知识 - 仓库
- 依赖管理的基础知识 - 发布 artifacts
- 依赖管理的基础知识 - 下一步?
- Groovy 快速入门
- Groovy 快速入门 - 一个基本的 Groovy 项目
- Groovy 快速入门 - 总结
- 网页应用快速入门
- 网页应用快速入门 - 构建一个 WAR 文件
- 网页应用快速入门 - 运行 Web 应用
- 网页应用快速入门 - 总结
- 使用 Gradle 命令行
- 使用 Gradle 命令行 - 多任务调用
- 使用 Gradle 命令行 - 排除任务
- 使用 Gradle 命令行 - 失败后继续执行构建
- 使用 Gradle 命令行 - 简化任务名
- 使用 Gradle 命令行 - 选择文件构建
- 使用 Gradle 命令行 - 获取构建信息
- 获取构建信息 - 项目列表
- 获取构建信息 - 任务列表
- 获取构建信息 - 获取任务具体信息
- 获取构建信息 - 获取依赖列表
- 获取构建信息 - 查看特定依赖
- 获取构建信息 - 获取项目属性列表
- 获取构建信息 - 构建日志
- 使用 Gradle 图形界面
- 使用 Gradle 图形界面 - 任务树
- 使用 Gradle 图形界面 - 收藏夹
- 使用 Gradle 图形界面 - 命令行
- 使用 Gradle 图形界面 - 设置
- 编写构建脚本 - Gradle 构建语言
- 编写构建脚本 - 项目 API
- 项目 API - 标准项目属性
- 编写构建脚本 - 脚本 API
- 编写构建脚本 - 声明变量
- 声明变量 - 局部变量
- 声明变量 - 扩展属性
- 编写构建脚本 - Groovy 基础
- Groovy 基础 - Groovy JDK
- Groovy 基础 - 属性存取器
- Groovy 基础 - 可有可无的圆括号
- Groovy 基础 - List 和 Map 集合
- Groovy 基础 - 闭合作为方法的最后一个参数
- Groovy 基础 - 闭合委托对象
- 深入了解 Tasks
- 深入了解 Tasks - 定义 tasks
- 深入了解 Tasks - 定位 tasks
- 深入了解 Tasks - 配置 tasks
- 深入了解 Tasks - 给 task 加入依赖
- 深入了解 Tasks - 给 tasks 排序
- 深入了解 Tasks - 给 task 加入描述
- 深入了解 Tasks - 替换 tasks
- 深入了解 Tasks - 跳过 tasks
- 深入了解 Tasks - 跳过 up-to-date 的任务
- 深入了解 Tasks - Task 规则
- 深入了解 Tasks - 终止 tasks
- 深入了解 Tasks - 补充
- 补充 - Gradle 属性 和 system 属性
- 补充 - 使用其他的脚本配置项目
- 补充 - 使用其他的脚本配置任意对象
- 补充 - 配置任意对象
- 补充 - 缓存
- 文件操作
- 文件操作 - 定位文件
- 文件操作 - 文件集合
- 文件操作 - 文件树
- 文件操作 - 使用一个归档文件的内容作为文件树
- 文件操作 - 指定一组输入文件
- 文件操作 - 复制文件
- 文件操作 - 使用同步任务
- 文件操作 - 创建归档文件
- 使用 Ant 插件
- 使用 Ant 插件 - 使用 Ant 任务和 Ant 类型的构建
- 使用 Ant 任务和 Ant 类型的构建 - 在构建中使用自定义 Ant 任务
- 使用 Ant 插件 - 导入一个 Ant 构建
- 使用 Ant 插件 - Ant 的属性与引用
- 使用 Ant 插件 - API
- Logging
- Logging - 选择日志等级
- Logging - 编写自己的日志信息
- Logging - 外部工具和库的log
- Logging - 改变 Gradle 记录的内容
- Gradle的守护进程
- Gradle的守护进程 - 什么是Gradle的守护进程
- Gradle的守护进程 - 管理和配置
- 管理和配置 - 如何启用的摇篮守护进程
- 管理和配置 - 如何禁用Gradle的守护进程
- 管理和配置 - 怎样抑制“please consider using the Gradle Daemon”消息
- 管理和配置 - 为什么会在机器上出现不只一个守护进程
- 管理和配置 - 守护进程占用多大内存并且能不能给它更大的内存?
- 管理和配置 - 如何停止守护进程
- 管理和配置 - 守护进程何时会出错
- Gradle的守护进程 - 什么时候使用Gradle守护进程
- Gradle的守护进程 - 工具和集成开发环境
- Gradle的守护进程 - 摇篮守护进程如何使构建速度更快
- 摇篮守护进程如何使构建速度更快 - 未来可能的改进
- Gradle Plugins
- Gradle Plugins - 插件的作用
- Gradle Plugins - 插件的类型
- Gradle Plugins - 应用插件
- 应用插件 - 脚本插件
- 应用插件 - 二进制插件
- 二进制插件 - 二进制插件的位置
- Gradle Plugins - 使用构建脚本块应用插件
- Gradle Plugins - 使用插件的插件DSL
- 使用插件的插件DSL - 插件DSL的限制
- 使用插件的插件DSL - 约束语法
- 使用插件的插件DSL - 只能在构建脚本中使用
- 使用插件的插件DSL - 不能与subjects{},allprojects{}等结合使用
- Gradle Plugins - 查找社区插件
- Gradle Plugins - 更多关于插件
- Gradle插件规范
- Gradle插件规范 - 语言插件
- Gradle插件规范 - 孵化中的语言插件
- Gradle插件规范 - 集成插件
- Gradle插件规范 - 孵化中的集成插件
- Gradle插件规范 - 软件开发插件
- Gradle插件规范 - 孵化中的软件开发插件
- Gradle插件规范 - 基础插件
- Gradle插件规范 - 第三方插件
- Java 插件
- Java 插件 - 使用
- Java 插件 - 资源集
- Java 插件 - 任务
- Java 插件 - 项目布局
- Java 插件 - 依赖管理
- Java 插件 - 公共配置
- Java 插件 - 使用资源集工作
- 使用资源集工作 - 资源集属性
- 使用资源集工作 - 定义新的资源集
- 使用资源集工作 - 资源集例子
- Java 插件 - Javadoc
- Java 插件 - 清除
- Java 插件 - 资源
- Java 插件 - 编译 Java
- Java 插件 - 增量 Java 编译
- Java 插件 - 测试
- 测试 - 测试执行
- 测试 - 测试调试
- 测试 - 测试过滤
- 测试 - 通过系统属性执行单独测试
- 测试 - 测试检测
- 测试 - 测试分组
- 测试 - 测试报告
- 测试报告 - TestNG 的参数化方法和报告
- 测试 - 公共值
- Java 插件 - Jar
- Jar - Manifest
- Java 插件 - 上传
- War插件
- War插件 - 使用
- War插件 - 任务
- War插件 - 项目布局
- War插件 - 依赖管理
- War插件 - 公共配置
- War插件 - War
- War插件 - 定制War
- Ear插件
构建脚本基础 - Hello world
你可以通过 gradle 命令运行一个 Gradle 构建.
gradle 命令会在当前目录中查找一个叫 build.gradle 的文件.
我们称这个 build.gradle 文件为一个构建脚本 (build script), 但是严格来说它是一个构建配置脚本 (build configuration script). 这个脚本定义了一个 project 和它的 tasks.
让我们来先看一个例子,
创建一个名为build.gradle的构建脚本.
例子 6.1 第一个构建脚本
build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
在命令行里, 进入脚本所在的文件夹然后输入 gradle -q hello 来执行构建脚本:
gradle -q hello 的输出
> gradle -q hello
Hello world!
这里发生了什么? 这个构建脚本定义了一个独立的 task,
叫做 hello,
并且加入了一个 action.
当你运行 gradle hello,
Gradle 执行叫做 hello 的 task,
也就是执行了你所提供的 action.
这个 action 是一个包含了一些 Groovy 代码的闭包(closure 这个概念不清楚的同学好好谷歌下).
如果你认为这些看上去和 Ant 的 targets 很相像,
好吧,
你是对的.
Gradle tasks 和 Ant 的 targets 是对等的.
但是你将会会看到,
Gradle tasks 更加强大.
我们使用一个不同于 Ant 的术语 task,
看上去比 target 更加能直白.
不幸的是这带来了一个术语冲突,
因为 Ant 称它的命令,
比如 javac 或者 copy,
叫 tasks.
所以当我们谈论 tasks,
是指 Gradle 的 tasks.
如果我们讨论 Ant 的 tasks (Ant 命令), 我们会直接称呼 ant task.
补充一点命令里的 -q 是干什么的?
这个指南里绝大多说的例子会在命令里加入 -q.
代表 quiet 模式.
它不会生成 Gradle 的日志信息 (log messages),
所以用户只能看到 tasks 的输出.
它使得的输出更加清晰.
你并不一定需要加入这个选项.
参考第 18 章,
日志的 Gradle 影响输出的详细信息.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论