PublishingExtension

配置如何“发布”项目的不同组件。

属性

属性描述
publications

项目的发布物。

repositories

可用于发布的仓库容器。

方法

方法描述
publications(configure)

配置此项目的发布物。

repositories(configure)

配置可用于发布的仓库容器。

脚本块

没有脚本块

属性详情

PublicationContainer publications (只读)

项目的发布物。

请参阅 PublishingExtension.publications(org.gradle.api.Action) 以获取更多信息。

RepositoryHandler repositories (只读)

可用于发布的仓库容器。

请参阅 PublishingExtension.repositories(org.gradle.api.Action) 以获取更多信息。

方法详情

void publications(Action<? super PublicationContainer> configure)

配置此项目的发布物。

publication 容器定义了项目的输出发布物。即,通过构建项目生成的、可消费的表示形式。发布物的一个例子是 Ivy 模块(例如 ivy.xml 和工件),或者 Maven 项目(例如 pom.xml 和工件)。

实际的发布物实现及其创建能力由不同的插件提供。“publishing”插件本身不提供任何发布物类型。例如,考虑到 'maven-publish' 插件提供了一个 MavenPublication 类型,您可以像这样创建一个发布物:

plugins {
    id 'maven-publish'
}

publishing {
  publications {
    myPublicationName(MavenPublication) {
      // Configure the publication here
    }
  }
}

请参阅 IvyPublicationMavenPublication 以获取有关发布这些特定格式的更多信息。

void repositories(Action<? super RepositoryHandler> configure)

配置可用于发布的仓库容器。

plugins {
    id 'publishing'
}

publishing {
  repositories {
    // Create an ivy publication destination named "releases"
    ivy {
      name = "releases"
      url = "http://my.org/ivy-repos/releases"
    }
  }
}

repositories 块由 RepositoryHandler 支持,它与用于声明依赖项消费仓库的 DSL 相同。然而,仓库处理器可以创建的某些类型的仓库对于发布是无效的,例如 RepositoryHandler.mavenCentral()

目前,只有通过 ivy() 工厂方法创建的仓库才会生效。请参阅 IvyPublication 以获取有关如何将其用于发布到 Ivy 仓库的信息。