Gradle-Authoring-Tasks
在入门教程中,您学习了如何创建简单的任务。 稍后您还学习了如何向这些任务添加额外的行为,并学习了如何在任务之间创建依赖关系。 这一切都是关于简单的任务,但 Gradle 把任务的概念更进一步。 Gradle 支持增强型任务,这些任务具有自己的属性和方法。 这与您习惯使用 Ant 目标的情况大不相同。 这些强化的任务要么是你提供的,要么是内置在 Gradle 的。
Task outcomes 任务结果
当 Gradle 执行一个任务时,它可以通过控制台 UI 和 toolingapi 将任务标记为不同的结果。 这些标签基于任务是否有要执行的操作,是否应该执行这些操作,是否确实执行了这些操作,以及这些操作是否做了任何更改。
Defining tasks 定义任务
在本章中,我们已经看到了如何使用任务名称的字符串来定义任务。 这种风格有一些变化,您可能需要在某些情况下使用。
Gradle-Avoiding-traps
Groovy script variables 4. Groovy 脚本变量
对于 Groovy DSL 的用户来说,了解 Groovy 如何处理脚本变量非常重要。 有两种类型的脚本变量。 一个具有本地作用域,另一个具有脚本范围。
Example: Variables scope: local and script wide 示例: 变量范围: 本地范围和脚本范围
scope.groovy
Gradle-Logging
日志是构建工具的主要“ UI”。 如果太冗长,那么真正的警告和问题很容易被隐藏起来。 另一方面,你需要相关的信息来判断事情是否出了问题。 Gradle 定义了6个日志级别,如日志级别所示。 除了通常可以看到的日志级别之外,还有两个 gradle 特定的日志级别。 这些层次是安静和生命周期。 后者是默认的,用于报告构建进度。
ERROR
Error messages
QUIET
Important information messages
WARNING
Warning messages
LIFECYCLE
Progress information messages
Gradle-处理文件-Working-With-Files
Copying a single file 复制单个文件
通过创建 Gradle 的内建 Copy 任务的实例并将其配置为文件的位置和要放置文件的位置,可以复制文件。 这个例子模拟了将生成的报告复制到一个目录中,这个目录将被打包到一个归档文件中,比如 ZIP 或者 TAR:
1 | task copyReport(type: Copy) { |
你甚至可以不使用 File ()方法直接使用这个路径,正如在文件复制深度部分前面解释的那样: