ArtifactHandler

API 文档ArtifactHandler

此类用于定义要发布的 artifact 并将其添加到配置中。创建发布 artifact 并不意味着创建归档文件。创建的是一个领域对象,它表示要发布的文件以及如何发布的信息(例如名称)。

要创建发布 artifact 并将其分配给配置,可以使用以下语法

<configurationName> <artifact-notation>, <artifact-notation> ...<configurationName> <artifact-notation> { ... 一些用于配置 artifact 的代码 }

标记可以是以下类型之一

  • PublishArtifact.
  • AbstractArchiveTask。用于发布 artifact 的信息是从归档任务中提取的(例如名称、扩展名等)。如果需要 artifact,则会执行该任务。
  • 一个 RegularFileDirectory
  • 一个 Provider,其类型可以是 FileRegularFileDirectoryTask,但后者必须定义单个文件输出属性。用于发布 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
}

属性

无属性

方法

方法描述
add(configurationName, artifactNotation)

将 artifact 添加到给定的配置中。

add(configurationName, artifactNotation, configureClosure)

将 artifact 添加到给定的配置中。

add(configurationName, artifactNotation, configureAction)

将 artifact 添加到给定的配置中。

脚本块

无脚本块

方法详情

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)

将 artifact 添加到给定的配置中。