API 文档 | 制品处理器 |
---|
此类用于定义要发布的制品,并将它们添加到配置中。创建发布制品并不意味着创建归档文件。实际创建的是一个领域对象,它代表要发布的文件以及关于应如何发布它的信息(例如,名称)。
要创建发布制品并将其分配给配置,您可以使用以下语法
<configurationName> <artifact-notation>, <artifact-notation> ...
或者 <configurationName> <artifact-notation> { ... some code to configure the artifact }
表示法可以是以下类型之一
发布制品
.AbstractArchiveTask
。用于发布制品的信息是从归档任务中提取的(例如,名称、扩展名等)。如果需要该制品,将执行此任务。- 一个
RegularFile
或者Directory
。 - 一个
Provider
,类型可以是File
、RegularFile
、Directory
或Task
。但后者必须定义单个文件输出属性。用于发布制品的信息是从文件或目录名称中提取的。当 Provider 代表特定任务的输出时,如果需要该制品,将执行该任务。 File
。用于发布制品的信息是从文件名中提取的。Map
。该 Map 应包含一个 'file' 键。这将转换为如上所述的制品。您还可以使用 Map 中的条目指定制品的其他属性。
在每种情况下,都会为制品创建一个 ConfigurablePublishArtifact
实例,以便配置制品属性。您还可以使用闭包来配置制品实例的属性,从而覆盖制品属性的默认值
一个示例,展示如何通过制品处理器将归档任务与配置关联。这样,归档文件可以通过配置在其他项目中发布或引用。
configurations { //declaring new configuration that will be used to associate with artifacts schema } task schemaJar(type: Jar) { //some imaginary task that creates a jar artifact with some schema } //associating the task that produces the artifact with the configuration artifacts { //configuration name and the task: schema schemaJar }
PublishArtifact
add
(String
configurationName, Object
artifactNotation)
将制品添加到给定配置。
PublishArtifact
add
(String
configurationName, Object
artifactNotation, Closure
configureClosure)
将制品添加到给定配置。
PublishArtifact
add
(String
configurationName, Object
artifactNotation, Action
<? super ConfigurablePublishArtifact
>
configureAction)
Action
<? super ConfigurablePublishArtifact
>将制品添加到给定配置。