Summary 关于本书 介绍 关于这本指南 概述 特点 为什么用 Groovy? 教程 安装Gradle 准备阶段 下载与安装 JVM选项 排除故障 构建脚本基础 Projects 和 tasks Hello world 快捷的任务定义 构建脚本代码 任务依赖 动态任务 使用已经存在的任务 短标记法 自定义任务属性 调用 Ant 任务 使用方法 默认任务 通过 DAG 配置 Java 构建入门 Java 插件 一个基础的 Java 项目 建立项目 外部的依赖 定制项目 发布 JAR 文件 创建 Eclipse 项目 总结 多项目的 Java 构建 定义一个多项目构建 通用配置 项目之间的依赖 创建一个发行版本 依赖管理的基础知识 什么是依赖管理 声明你的依赖 依赖配置 外部的依赖 仓库 发布 artifacts Groovy 快速入门 一个基本的 Groovy 项目 总结 网页应用快速入门 构建一个 WAR 文件 运行 Web 应用 总结 使用 Gradle 命令行 多任务调用 排除任务 失败后继续执行构建 简化任务名 选择文件构建 获取构建信息 项目列表 任务列表 获取任务具体信息 获取依赖列表 查看特定依赖 获取项目属性列表 构建日志 使用 Gradle 图形界面 任务树 收藏夹 命令行 设置 编写构建脚本 Gradle 构建语言 项目 API 标准项目属性 脚本 API 声明变量 局部变量 扩展属性 Groovy 基础 Groovy JDK 属性存取器 可有可无的圆括号 List 和 Map 集合 闭合作为方法的最后一个参数 闭合委托对象 深入了解 Tasks 定义 tasks 定位 tasks 配置 tasks 给 task 加入依赖 给 tasks 排序 给 task 加入描述 替换 tasks 跳过 tasks 跳过 up-to-date 的任务 Task 规则 终止 tasks 补充 Gradle 属性 和 system 属性 使用其他的脚本配置项目 使用其他的脚本配置任意对象 配置任意对象 缓存 文件操作 定位文件 文件集合 文件树 使用一个归档文件的内容作为文件树 指定一组输入文件 复制文件 使用同步任务 创建归档文件 使用 Ant 插件 使用 Ant 任务和 Ant 类型的构建 在构建中使用自定义 Ant 任务 导入一个 Ant 构建 Ant 的属性与引用 API Logging 选择日志等级 编写自己的日志信息 外部工具和库的log 改变 Gradle 记录的内容 Gradle的守护进程 什么是Gradle的守护进程 管理和配置 如何启用的摇篮守护进程 如何禁用Gradle的守护进程 怎样抑制“please consider using the Gradle Daemon”消息 为什么会在机器上出现不只一个守护进程 守护进程占用多大内存并且能不能给它更大的内存? 如何停止守护进程 守护进程何时会出错 什么时候使用Gradle守护进程 工具和集成开发环境 摇篮守护进程如何使构建速度更快 未来可能的改进 Gradle Plugins 插件的作用 插件的类型 应用插件 脚本插件 二进制插件 二进制插件的位置 使用构建脚本块应用插件 使用插件的插件DSL 插件DSL的限制 约束语法 只能在构建脚本中使用 不能与subjects{},allprojects{}等结合使用 查找社区插件 更多关于插件 Gradle插件规范 语言插件 孵化中的语言插件 集成插件 孵化中的集成插件 软件开发插件 孵化中的软件开发插件 基础插件 Java 插件 使用 资源集 任务 项目布局 依赖管理 公共配置 使用资源集工作 资源集属性 定义新的资源集 资源集例子 Javadoc 清除 资源 编译 Java 增量 Java 编译 测试 测试执行 测试调试 测试过滤 通过系统属性执行单独测试 测试检测 测试分组 测试报告 TestNG 的参数化方法和报告 公共值 Jar Manifest 上传 War插件 使用 任务 项目布局 依赖管理 公共配置 War 定制War