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)

配置此项目的出版物。

publications 容器定义了项目的输出出版物。也就是说,构建项目所产生的可消费表示。出版物的示例可以是 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