随着maven插件过时,官方推荐使用maven-publish插件来实现将代码发布Apache Maven仓库,完整代码如下:
plugins {
id 'maven-publish'
}
task generateSourcesJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier 'sources'
}
def versionName = "1.1.0-SNAPSHOT"
publishing {
publications {
// 定义一个名为 Production 的发布
Production(MavenPublication) {
// 使用方引用 implementation 'cn.com.tan:mavendemo:1.1.0-SNAPSHOT'
groupId = "cn.com.tan"
artifactId = "mavendemo"
version = versionName
// 必须有这个 否则不会上传AAR包
afterEvaluate { artifact(tasks.getByName("bundleReleaseAar")) }
// 上传source,这样使用方可以看到方法注释
artifact generateSourcesJar
}
}
repositories {
// 定义一个 maven 仓库
maven {
// 可以有且仅有一个仓库不指定 name 属性,会隐式设置为 Maven
// 根据 versionName 来判断仓库地址
url = versionName.endsWith('SNAPSHOT') ? SNAPSHOT_REPOSITORY_URL : RELEASE_REPOSITORY_URL
// 仓库用户名密码
credentials {
username = "仓库用户名"
password = "仓库密码"
}
}
}
}
在Gradle Tool Window中会生成对应的任务,然后点击publish执行任务成功即可将代码发布maven仓库,如下图所示: