Gradle Artifact Publishing Concepts: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 23: Line 23:
The [[Gradle_Concepts#Dependency_Configuration|configurations used to specify dependencies]] are also used to specify publishing artifacts.  
The [[Gradle_Concepts#Dependency_Configuration|configurations used to specify dependencies]] are also used to specify publishing artifacts.  


The "archives" configuration is the standard configuration to assign artifacts to. The [[Gradle_Java_Plugin#Overview|Java plugin]] automatically assigns the default jar to this configuration.
There are two configurations introduced by the [[Gradle_Java_Plugin#Overview|Java plugin]] that are relevant to artifact generation and publishing: [[Gradle_Java_Plugin#archives|archives]] and [[Gradle_Java_Plugin#runtime|runtime]]. Their relationship with artifact publishing is explained in the [[Gradle_Java_Plugin#Overview|Java plugin]] page.


Any custom archive created as part of the build are not automatically assigned to any configuration. If such as assignment is desired, it will have to be explicitly declared.
Any custom archive created as part of the build are not automatically assigned to any configuration. If such as assignment is desired, it will have to be explicitly declared.

Revision as of 19:04, 15 May 2018

External

Internal

Overview

Publishing plugins, such as Maven, define publishing tasks, that can be configured in build.gradle.

Artifact

Projects use Gradle to produce artifacts, also referred to as publication artifacts. Artifacts of a project are the files the project provides to the outside world.

Configuration

The configurations used to specify dependencies are also used to specify publishing artifacts.

There are two configurations introduced by the Java plugin that are relevant to artifact generation and publishing: archives and runtime. Their relationship with artifact publishing is explained in the Java plugin page.

Any custom archive created as part of the build are not automatically assigned to any configuration. If such as assignment is desired, it will have to be explicitly declared.

Declaring an Artifact

https://docs.gradle.org/current/userguide/artifact_management.html#sec:archive_task_artifacts

Publishing an Artifact

https://docs.gradle.org/current/userguide/artifact_management.html#sec:publishing_artifacts

Publishing to a Maven Repository