MavenPublication
MavenPublication是Gradle采用Maven的格式发布一些东西的代表/配置,你可以直接在项目的publishing.publications 区域中添加一个包含MavenPublication type的Maven Publication。
publishing {
publications {
myPublicationName(MavenPublication) {
// Configure the publication here
}
}
}
默认的Maven POM表示属性映射如下:
- groupId - project.group
- artifactId - project.name
- Version - project.version
对于一些常见的使用情况,通常指定需要发布的组件就足够了,这个发布的组件被用于检测artifacts是否发布,或者每个dependencies是否需要在生成的POM文件中生成
void from(SoftWareComponent component)
提供了应该被发布的软件组件
- component声明的任何artifacts都将会被包含在发布中
- component声明的dependencies将会被包含在发布的元数据中(meta-data)
目前支持3中类型的component:分别是 JavaPlugin提供的 commpoents.java、WarPlugin提供的 ‘components.web’和JavaPlatformPlugin提供的’components.javaPlatform’,对于任何单独的MavenPublication,只能以这种方式提供单个组件,接下来的示例展示了怎么发布一个’java’组件到Maven repository中
plugins {
id 'java'
id 'maven-publish'
}
publishing {
publications {
maven(MavenPublication) {
from components.java
}
}
}