Table of Contents
API Documentation: | PublishingExtension |
---|
The configuration of how to “publish” the different components of a project.
Property | Description |
publications | The publications of the project. |
repositories | The container of possible repositories to publish to. |
Method | Description |
publications(configure) | Configures the publications of this project. |
repositories(configure) | Configures the container of possible repositories to publish to. |
PublicationContainer
publications
(read-only)
The publications of the project.
See PublishingExtension.publications(org.gradle.api.Action)
for more information.
RepositoryHandler
repositories
(read-only)
The container of possible repositories to publish to.
See PublishingExtension.repositories(org.gradle.api.Action)
for more information.
void
publications
(Action
<? super PublicationContainer
>
configure)
Action
<? super PublicationContainer
>Configures the publications of this project.
The publications container defines the outgoing publications of the project. That is, the consumable representations of things produced
by building the project. An example of a publication would be an Ivy Module (i.e. ivy.xml
and artifacts), or
Maven Project (i.e. pom.xml
and artifacts).
Actual publication implementations and the ability to create them are provided by different plugins. The “publishing” plugin itself does not provide any publication types.
For example, given that the 'maven-publish' plugin provides a MavenPublication
type, you can create a publication like:
plugins { id 'maven-publish' } publishing { publications { myPublicationName(MavenPublication) { // Configure the publication here } } }
Please see IvyPublication
and MavenPublication
for more information on publishing in these specific formats.
void
repositories
(Action
<? super RepositoryHandler
>
configure)
Action
<? super RepositoryHandler
>Configures the container of possible repositories to publish to.
plugins { id 'publishing' } publishing { repositories { // Create an ivy publication destination named “releases” ivy { name = "releases" url = "http://my.org/ivy-repos/releases" } } }
The repositories
block is backed by a RepositoryHandler
, which is the same DSL as that that is used for declaring repositories to consume dependencies from. However,
certain types of repositories that can be created by the repository handler are not valid for publishing, such as RepositoryHandler.mavenCentral()
.
At this time, only repositories created by the ivy()
factory method have any effect. Please see IvyPublication
for information on how this can be used for publishing to Ivy repositories.