Gradle Maven Publish Plugin: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 48: Line 48:


==Apply the Plugin==
==Apply the Plugin==
<syntaxhighlight lang='groovy'>
apply plugin: 'maven-publish'
</syntaxhighlight>


==Define the Publications==
==Define the Publications==

Revision as of 20:11, 15 May 2018

External

Internal

Overview

"maven-publish" is an newer alternative to publishing with Maven Plugin. It generates Maven metadata and pushes the artifacts and the metadata to a Maven repository.

apply plugin: 'maven-publish'

"publishing" Extension

The plugin creates a "publishing" extension of type PublishingExtension. This extension provides a container of named publications and a container of named repositories.

publishing {
  publications {
    myPublicationName(MavenPublication) {
      // Configure the publication here
    }
  }
}
repositories {
    maven {
        url "${url}"
        authentication {
            basic(BasicAuthentication)
        }
    }
}

Publications are published to repositories via tasks and the configuration of the publication object determines exactly what is published.

The plugin does not have effect if no MavenPublication is added to the publications container. A publication determines which artifacts are actually published as well as the details included in the associated POM file. A publication can be configured by adding components, customizing artifacts, and by modifying the generated POM file directly.

Publishing to a Maven Repository

Apply the Plugin

apply plugin: 'maven-publish'

Define the Publications

Define the Repository

Execute

gradle publish