pom.yaml Reference
Here is a complete list of property name and their meaning in pom.yaml. The absolute minimal properties are those that represent Maven coordinate. That is, group, artifactId and version. However, individual pom.yaml does not need to have all three, as long as the merged result of multiple files has all this information. If the merged result missed artifactId, the project name will be used as default.
| Name | Meaning |
|---|---|
variant | Optional variant name for the POM fragment. See POM variant section of this guide. |
group | The group of the coordinate of the component. Must present in merged result. |
artifactId | The artefact Id of coordinate of the component. If it is not specified, the default is the project name. |
version | The version of the coordinate of the component. Must present in merged result. |
packaging | The format of the artefact. Can be, but not limited to, jar, aar, war. |
licenses | A collection of licenses |
developers | A collection of developers |
contributors | A collection of contributors |
organization | The organization that the component belongs to. |
web | The website for the component. |
scm | The version control system for the component. |
plugin | Definition of Gradle plugin publishing |
licenses #
licenses:- name: Apache-2.0 dist: repoThe url field will be filled automatically by the plugin with the value http://www.apache.org/licenses/LICENSE-2.0.txt.
Predefined license types included:
Apache-2.0BSD-3-ClauseMITGPLv3LGPLv3
| Name | Meaning |
|---|---|
name | Name of license. |
url | URL to the full text of license. |
dist | repo or manual |
comment | Additional comment to the license. |
See this for a full description of the block.
developers #
developers block may specify multiple developers participated in developing the component.
| Name | Meaning |
|---|---|
id | ID of the developer. It is an arbitrary ID that helps to organize people in an organization. |
name | Name of the person. |
email | Email address of the person. |
organization | The organization that the person belongs to. |
timeZone | The time zone that the person is in. |
url | URL of information about the person. |
contributors #
A collection of person that contributed to the project. The format is identical to the developers block.
organization #
| Name | Meaning |
|---|---|
name | Name of the organization. |
url | URL to further information of the organization. |
scm #
| Name | Meaning |
|---|---|
url | URL to the source code control system. If repoType and repoName is given. This field is automatically filled as https://{repoType}/{repoName} |
connection | The string to identify the project in the source code control system. The format depends on the repoType. It is usually a URL to the source code repository. Normally access to the repository pointed by this value is read-only. |
developerConnection | Similar to connection, but specify the repository that requires write access. |
repoType | Usually the domain name of the service, like github.com, gitlab.com |
repoName | Usually the path after repoType represents the user account and repository name of the source code control system. For example, hkhc/jarbird. |
issueType | The type of issue management system. It could be the same as repoType for cases like github.com. |
issueUrl | URL to the issue management system for this component. |
tag | Further information about the component in the source code management system. |
web #
| Name | Meaning |
|---|---|
url | URL to the website of this component. |
description | Description of the website. |
plugin #
plugin block is only needed to publish the Gradle plugin.
| Name | Meaning |
|---|---|
id | Plugin ID used to declare the use of the plugin. |
displayName | The name of the plugin to be shown in Gradle Plugin Portal. |
description | Description of the plugin. |
implementationClass | The fully qualified class name |
tags | Multiple values of tag string to be sent to Gradle Plugin Portal. |