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)

配置此项目的发布物。

发布物容器定义了项目的传出发布物。也就是说,通过构建项目生成的事物的可消费表示形式。发布物的示例可以是 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() 工厂方法创建的仓库才有效。有关如何将其用于发布到 Ivy 仓库的信息,请参阅 IvyPublication