我经常在Gradle文档中遇到这些概念。他们之间有什么区别?
据我所知,自定义任务是封装了一些逻辑的类,但什么是增强任务,它们之间有什么区别?
答案 0 :(得分:2)
Gradle中的simple task
是DefaultTask的一个实例,并且不会开箱即用。要使其执行某些操作,您必须在构建脚本中将任务定义添加到任务定义中。
enhanced task
是不同类的实例(例如,复制任务是Copy的实例)并且具有开箱即用的一些行为。您只需要在构建脚本中配置该行为(例如,告诉它从哪里复制)
custom task
是一项增强型任务,是您自己编写的类的实例。
答案 1 :(得分:1)
增强任务在Gradle手册中定义为:
Gradle支持增强的任务,即具有各自属性和方法的任务。这与您习惯使用Ant目标的方式完全不同。此类增强任务由您提供或由Gradle提供。
它还说:
Gradle支持两种类型的任务。一种这样的类型是简单的任务,您可以使用操作闭包来定义任务。我们在第6章构建脚本基础知识中已经看到了这些。对于此类任务,操作闭包确定任务的行为。此类任务适用于在构建脚本中实现一次性任务。
另一种类型的任务是增强任务,其中行为内置于任务中,该任务提供了一些可用于配置行为的属性。我们在第15章,有关任务的更多信息中看到了这些。大多数Gradle插件都使用增强的任务。通过增强任务,您不需要像处理简单任务那样实现任务行为。您只需声明任务并使用其属性配置任务。通过这种方式,增强的任务允许您在许多不同的位置重用一段行为,可能跨越不同的构建。
增强任务的行为和属性由任务类定义。声明增强任务时,可以指定任务的类型或类。