PublishingExtension

設定如何「發布」專案的不同組件。

屬性

屬性描述
publications

專案的 publications。

repositories

可發布至的可能倉庫容器。

方法

方法描述
publications(configure)

配置此專案的 publications。

repositories(configure)

配置可發布至的可能倉庫容器。

腳本區塊

沒有腳本區塊

屬性詳情

PublicationContainer publications (唯讀)

專案的 publications。

請參閱 PublishingExtension.publications(org.gradle.api.Action) 以取得更多資訊。

RepositoryHandler repositories (唯讀)

可發布至的可能倉庫容器。

請參閱 PublishingExtension.repositories(org.gradle.api.Action) 以取得更多資訊。

方法詳情

void publications(Action<? super PublicationContainer> configure)

配置此專案的 publications。

publications 容器定義專案的輸出 publications。也就是說,透過建置專案所產生的可消耗表示形式。publication 的範例可以是 Ivy 模組(即 ivy.xml 和 artifacts)或 Maven 專案(即 pom.xml 和 artifacts)。

實際的 publication 實作以及建立它們的能力由不同的外掛程式提供。「publishing」外掛程式本身不提供任何 publication 類型。例如,假設 'maven-publish' 外掛程式提供 MavenPublication 類型,您可以建立像這樣的 publication

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 倉庫的資訊。