Android studio aar 上传maven 解决依赖传递问题

Android studio aar 上传maven 解决依赖传递问题

apply plugin: 'maven-publish'

publishing {
    publications {
        aarSDk(MavenPublication) {
            artifact "build/outputs/aar/adsdk-debug.aar"
            groupId groupIdValue
            artifactId artifactIdName
            version versionCode
            pom.withXml {
                def dependenciesNode = asNode().appendNode('dependencies')
                configurations.implementation.allDependencies.withType(ModuleDependency) { ModuleDependency dp ->
                    if (dp.version != "unspecified") { // 过滤项目内library引用
                        def dependencyNode = dependenciesNode.appendNode('dependency')
                        dependencyNode.appendNode('groupId', dp.group)
                        dependencyNode.appendNode('artifactId', dp.name)
                        dependencyNode.appendNode('version', dp.version)

                        // for exclusions
                        if (dp.excludeRules.size() > 0) {
                            def exclusions = dependencyNode.appendNode('exclusions')
                            dp.excludeRules.each { ExcludeRule ex ->
                                def exclusion = exclusions.appendNode('exclusion')
                                exclusion.appendNode('groupId', ex.group)
                                exclusion.appendNode('artifactId', ex.module)
                            }
                        }
                    }
                }
            }
        }
    }

    repositories {
        maven {
            if (!Boolean.parseBoolean(useLocal) && project.hasProperty('MAVEN_USERNAME') && project.hasProperty('MAVEN_PASSWORD')) {
                url 'http://112.33.13.244:8087/repository/maven-public/'
                credentials {
                    username MAVEN_USERNAME
                    password MAVEN_PASSWORD
                }
            } else {
                url "$rootDir/repo"
            }
        }
    }

}

task publishToMaven(dependsOn: ['assemble', 'publish']) {
    doLast {
        if (!Boolean.parseBoolean(useLocal)) {
            println "finish publish  to  maven"
        } else {
            println "finish publish  to  maven directory:--> $rootDir/repo"

        }
    }
}

publishToMaven.setGroup('SDKPush')



#版本号
versionCode=1.0.1
#上传artifactId名称
artifactIdName=adx
#上传groupId名称
groupIdValue=com.cmdc.adx
#maven私服用户名
MAVEN_USERNAME=admin
#maven私服密码
MAVEN_PASSWORD=cmdc@2019@nexus
# 是否使用本地maven仓库
useLocal=false
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值