API 文档 | ArtifactHandler |
---|
此类用于定义要发布的 artifact 并将其添加到配置中。创建发布 artifact 并不意味着创建归档文件。创建的是一个领域对象,它表示要发布的文件以及如何发布的信息(例如名称)。
要创建发布 artifact 并将其分配给配置,可以使用以下语法
<configurationName> <artifact-notation>, <artifact-notation> ...
或 <configurationName> <artifact-notation> { ... 一些用于配置 artifact 的代码 }
标记可以是以下类型之一
PublishArtifact
.AbstractArchiveTask
。用于发布 artifact 的信息是从归档任务中提取的(例如名称、扩展名等)。如果需要 artifact,则会执行该任务。- 一个
RegularFile
或Directory
。 - 一个
Provider
,其类型可以是File
、RegularFile
、Directory
或Task
,但后者必须定义单个文件输出属性。用于发布 artifact 的信息是从文件或目录名称中提取的。当 provider 表示特定任务的输出时,如果需要 artifact,则会执行该任务。 File
。用于发布 artifact 的信息是从文件名称中提取的。Map
。Map 应包含一个 'file' 键。这将被转换为如上所述的 artifact。您还可以使用 Map 中的条目指定 artifact 的其他属性。
在每种情况下,都会为 artifact 创建一个 ConfigurablePublishArtifact
实例,以允许配置 artifact 属性。您还可以使用一个 closure 来配置 artifact 实例的属性,从而覆盖 artifact 属性的默认值。
一个示例,展示如何通过 artifact handler 将归档任务与配置关联起来。这样,该归档文件就可以通过此配置发布或在其他项目中被引用。
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)
将 artifact 添加到给定的配置中。
PublishArtifact
add
(String
configurationName, Object
artifactNotation, Closure
configureClosure)
将 artifact 添加到给定的配置中。
PublishArtifact
add
(String
configurationName, Object
artifactNotation, Action
<? super ConfigurablePublishArtifact
>
configureAction)
Action
<? super ConfigurablePublishArtifact
>将 artifact 添加到给定的配置中。