API 文档 | TaskContainer |
---|
一个 TaskContainer
负责管理一组 Task
实例。
你可以通过调用 Project.getTasks()
获取 TaskContainer
实例,或在你的构建脚本中使用 tasks
属性。
方法 | 描述 |
containerWithType(type) | 创建一个常规容器,该容器包装多态容器,以呈现指定类型的所有元素。 |
create(name) | 已废弃 创建一个给定名称的 |
create(name, configureClosure) | 已废弃 创建一个给定名称的 |
create(name, type) | 已废弃 创建一个给定名称和类型的 |
create(name, type, constructorArgs) | 已废弃 创建一个给定名称和类型的 |
create(name, type, configuration) | 已废弃 创建一个给定名称和类型的 |
create(name, configuration) | 已废弃 创建一个给定名称且类型为 |
create(options) | 已废弃 创建一个 |
create(options, configureClosure) | 已废弃 创建一个 |
findByPath(path) | 按路径定位任务。你可以提供任务名称、相对路径或绝对路径。相对路径相对于此容器的项目进行解释。如果给定路径不存在任务,则此方法返回 null。 |
getByName(name) | 按名称定位对象,如果不存在此类对象则失败。 |
getByName(name, configureClosure) | 按名称定位对象,如果不存在此类对象则失败。给定的配置 Closure 在对象通过此方法返回之前针对该对象执行。该对象作为其代理传递给 Closure。 |
getByName(name, configureAction) | 按名称定位对象,如果不存在此类对象则失败。给定的配置 Action 在对象通过此方法返回之前针对该对象执行。 |
getByPath(path) | 按路径定位任务。你可以提供任务名称、相对路径或绝对路径。相对路径相对于此容器的项目进行解释。如果给定路径不存在任务,则此方法抛出异常。 |
maybeCreate(name) | 查找具有给定名称的项,如果不存在则创建并将其添加到此容器。 |
maybeCreate(name, type) | 查找具有给定名称和类型的项,如果不存在则创建并将其添加到此容器。 |
named(name) | 按名称定位任务,不触发其创建或配置,如果不存在此类对象则失败。 |
named(name, type) | 按名称和类型定位对象,如果不存在此类对象则失败。 |
named(name, type, configurationAction) | 按名称和类型定位对象,如果不存在此类对象则失败。给定的配置 action 在对象从 provider 返回之前针对该对象执行。 |
named(name, configurationAction) | 按名称定位对象,如果不存在此类对象则失败。给定的配置 action 在对象从 provider 返回之前针对该对象执行。 |
named(nameFilter) | 返回包含名称匹配所提供过滤器的对象的集合。返回的集合是实时的,因此当匹配的对象添加到此集合时,它们在过滤后的集合中也可见。 |
register(name) | 定义一个新任务,该任务在需要时创建。任务在通过查询方法(例如 |
register(name, type) | 定义一个新任务,该任务在需要时创建。任务在通过查询方法(例如 |
register(name, type, constructorArgs) | 定义一个新任务,该任务在需要时创建,并将给定参数传递给带有 |
register(name, type, configurationAction) | 定义一个新任务,该任务在需要时创建并配置。任务在通过查询方法(例如 |
register(name, configurationAction) | 定义一个新任务,该任务在需要时创建并配置。任务在通过查询方法(例如 |
replace(name) | 创建一个给定名称的 |
replace(name, type) | 创建一个给定名称和类型的 |
NamedDomainObjectContainer
<U
>
containerWithType
(Class
<U
>
type)
NamedDomainObjectContainer
<U
>Class
<U
>创建一个常规容器,该容器包装多态容器,以呈现指定类型的所有元素。
此方法是一个中间操作。它不会改变集合中元素的实例化/未实例化状态。
注意:此方法已废弃,将在 Gradle 的下一个主要版本中移除。
创建一个给定名称的 Task
并将其添加到此容器。给定的 Closure 用于在任务通过此方法返回之前配置它。
添加任务后,它将作为项目的属性可用,因此你可以在构建文件中按名称引用任务。
注意:此方法已废弃,将在 Gradle 的下一个主要版本中移除。
创建一个给定名称和类型的 Task
,将给定参数传递给带有 @Inject
注解的构造函数,并将其添加到此容器。传递给任务构造函数的所有值都不能为 null;否则将抛出 NullPointerException
。
添加任务后,它将作为项目的属性可用,因此你可以在构建文件中按名称引用任务。
注意:此方法已废弃,将在 Gradle 的下一个主要版本中移除。
创建一个给定名称和类型的 Task
,使用给定的 action 配置它,并将其添加到此容器。
添加任务后,它将作为项目的属性可用,因此你可以在构建文件中按名称引用任务。
注意:此方法已废弃,将在 Gradle 的下一个主要版本中移除。
创建一个给定名称且类型为 DefaultTask
的 Task
,使用给定的 action 配置它,并将其添加到此容器。
添加任务后,它将作为项目的属性可用,因此你可以在构建文件中按名称引用任务。
注意:此方法已废弃,将在 Gradle 的下一个主要版本中移除。
创建一个 Task
并将其添加到此容器。可以将创建选项的 Map 传递给此方法,以控制如何创建任务。以下选项可用:
选项 | 描述 | 默认值 |
| 要创建的任务的名称。 | 无。必须指定。 |
| 要创建的任务的类。 | DefaultTask |
| 任务执行时要执行的 Closure 或 Action 。请参阅 Task.doFirst(org.gradle.api.Action) 。 | null |
| 替换现有任务? | false |
| 任务的依赖项。有关更多详情,请参阅此处。 | [] |
| 任务的分组。 | null |
| 任务的描述。 |
null |
| 要传递给任务类构造函数的参数。 |
null |
添加任务后,它将作为项目的属性可用,因此你可以在构建文件中按名称引用任务。
如果此容器中已存在给定名称的任务且 overwrite
选项未设置为 true,则抛出异常。
注意:此方法已废弃,将在 Gradle 的下一个主要版本中移除。
创建一个 Task
并将其添加到此容器。可以将创建选项的 Map 传递给此方法,以控制如何创建任务。有关可用选项列表,请参阅 TaskContainer.create(java.util.Map)
。给定的 Closure 用于在任务通过此方法返回之前配置它。
添加任务后,它将作为项目的属性可用,因此你可以在构建文件中按名称引用任务。
按名称定位对象,如果不存在此类对象则失败。给定的配置 Closure 在对象通过此方法返回之前针对该对象执行。该对象作为其代理传递给 Closure。
此操作是急切的,将导致返回的元素被实例化。
按名称定位对象,如果不存在此类对象则失败。给定的配置 Action 在对象通过此方法返回之前针对该对象执行。
此操作是急切的,将导致返回的元素被实例化。
TaskProvider
<T
>
named
(String
name)
TaskProvider
<T
>按名称定位任务,不触发其创建或配置,如果不存在此类对象则失败。
TaskProvider
<S
>
named
(String
name, Class
<S
>
type, Action
<? super S
>
configurationAction)
TaskProvider
<S
>Class
<S
>Action
<? super S
>按名称和类型定位对象,如果不存在此类对象则失败。给定的配置 action 在对象从 provider 返回之前针对该对象执行。
此方法是延迟的,不会导致返回的元素被实例化。
TaskProvider
<T
>
named
(String
name, Action
<? super T
>
configurationAction)
TaskProvider
<T
>Action
<? super T
>按名称定位对象,如果不存在此类对象则失败。给定的配置 action 在对象从 provider 返回之前针对该对象执行。
此方法是延迟的,不会导致返回的元素被实例化。
TaskCollection
<T
>
named
(Spec
<String
>
nameFilter)
TaskCollection
<T
>Spec
<String
>返回包含名称匹配所提供过滤器的对象的集合。返回的集合是实时的,因此当匹配的对象添加到此集合时,它们在过滤后的集合中也可见。
此方法是一个中间操作。它不会改变集合中元素的实例化/未实例化状态。
TaskProvider
<Task
>
register
(String
name)
TaskProvider
<Task
>定义一个新任务,该任务在需要时创建。任务在通过查询方法(例如 TaskCollection.getByName(java.lang.String)
)定位时,添加到任务图以执行时,或在此方法的返回值上调用 Provider.get()
时被视为“需要”。
通常使用此方法比使用 TaskContainer.create(java.lang.String)
更高效,因为该方法会急切地创建任务,无论当前构建是否需要该任务。而此方法会延迟创建直到需要时。
TaskProvider
<T
>
register
(String
name, Class
<T
>
type)
TaskProvider
<T
>Class
<T
>定义一个新任务,该任务在需要时创建。任务在通过查询方法(例如 TaskCollection.getByName(java.lang.String)
)定位时,添加到任务图以执行时,或在此方法的返回值上调用 Provider.get()
时被视为“需要”。
通常使用此方法比使用 TaskContainer.create(java.lang.String, java.lang.Class, org.gradle.api.Action)
或 TaskContainer.create(java.lang.String, java.lang.Class)
更高效,因为那些方法会急切地创建和配置任务,无论当前构建是否需要该任务。而此方法会延迟创建直到需要时。
TaskProvider
<T
>
register
(String
name, Class
<T
>
type, Object
...
constructorArgs)
TaskProvider
<T
>Class
<T
>Object
...定义一个新任务,该任务在需要时创建,并将给定参数传递给带有 @Inject
注解的构造函数。任务在通过查询方法(例如 TaskCollection.getByName(java.lang.String)
)定位时,添加到任务图以执行时,或在此方法的返回值上调用 Provider.get()
时被视为“需要”。传递给任务构造函数的所有值都不能为 null;否则将抛出 NullPointerException
。
通常使用此方法比使用 TaskContainer.create(java.lang.String, java.lang.Class, org.gradle.api.Action)
或 TaskContainer.create(java.lang.String, java.lang.Class)
更高效,因为那些方法会急切地创建和配置任务,无论当前构建是否需要该任务。而此方法会延迟创建直到需要时。
TaskProvider
<T
>
register
(String
name, Class
<T
>
type, Action
<? super T
>
configurationAction)
TaskProvider
<T
>Class
<T
>Action
<? super T
>定义一个新任务,该任务在需要时创建并配置。任务在通过查询方法(例如 TaskCollection.getByName(java.lang.String)
)定位时,添加到任务图以执行时,或在此方法的返回值上调用 Provider.get()
时被视为“需要”。
通常使用此方法比使用 TaskContainer.create(java.lang.String, java.lang.Class, org.gradle.api.Action)
或 TaskContainer.create(java.lang.String, java.lang.Class)
更高效,因为那些方法会急切地创建和配置任务,无论当前构建是否需要该任务。而此方法会延迟创建和配置直到需要时。
TaskProvider
<Task
>
register
(String
name, Action
<? super Task
>
configurationAction)
TaskProvider
<Task
>Action
<? super Task
>定义一个新任务,该任务在需要时创建并配置。任务在通过查询方法(例如 TaskCollection.getByName(java.lang.String)
)定位时,添加到任务图以执行时,或在此方法的返回值上调用 Provider.get()
时被视为“需要”。
通常使用此方法比使用 NamedDomainObjectContainer.create(java.lang.String, org.gradle.api.Action)
或 TaskContainer.create(java.lang.String)
更高效,因为那些方法会急切地创建和配置任务,无论当前构建是否需要该任务。而此方法会延迟创建和配置直到需要时。