apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: 'https://packages.aliyun.com/maven/repository/xxxx-release-xxxx/') {
authentication(
userName: 'xxxx',
password: 'xxxx'
)
}
snapshotRepository(url: 'https://packages.aliyun.com/maven/repository/xxx-snapshot-xxxx/') {
authentication(
userName: 'xxxxx',
password: 'xxxx'
)
}
pom.version = '1.0.0'
pom.artifactId = 'mylib'
pom.groupId = 'com.sgz'
}
}
}
gradle配置完成后
新版本---》
apply plugin: 'maven-publish'
publishing {
repositories {
maven {
credentials {
username 'username' // 仓库发布用户名
password 'password' // 仓库发布用户密码
}
url 'trunk_url' // 仓库地址
}
}
publications {
maven(MavenPublication) {
groupId 'group_id' // groupId
artifactId 'artifact_id' // artifactId
version '1.0.0' // 发布版本
description 'This is a liberary to test v1.0.0' // 说明描述
artifact "${project.buildDir}/outputs/aar/${project.name}-release.aar"
pom.withXml{
def dependenciesNode = asNode().appendNode("dependencies")
// 添加一个依赖
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dependency.group)
dependencyNode.appendNode('artifactId', dependency.name)
dependencyNode.appendNode('version', dependency.version)
// 逐一添加第三方依赖。。。
}
// 如果依赖比较多,有个更简洁的方式就是读取配置的依赖配置,逐一添加。这种方法在依赖变更之后,也会自动识别,如下所示
// pom.withXml{
// def dependenciesNode = asNode().appendNode("dependencies")
// configurations.implementation.allDependencies.forEach(){
// Dependency dependency ->
// if (dependency.version != "unspecified" && dependency.name != "unspecified"){
// def dependencyNode = dependenciesNode.appendNode('dependency')
// dependencyNode.appendNode('groupId', dependency.group)
// dependencyNode.appendNode('artifactId', dependency.name)
// dependencyNode.appendNode('version', dependency.version)
// }
// }
// }
}
}
}