gradle新的依赖发布方式配置脚本

213 阅读1分钟

1.配置

在插件build.gradle中android节点上进行如下配置

apply from: 'publish.gradle'

2.脚本

新建publish.gradle

apply plugin: 'maven-publish'
publishing {
    publications {
        release(MavenPublication) {
            groupId = 'com.xxx'//公司域名
            artifactId = 'toeflplayer'//该aar包的名称
            version = '0.0.3'//版本号
            artifact "build/outputs/aar/toeflplayer-release.aar"//对应该渠道打包出来的aar所在的目录
            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)
                        }
                }
            }
        }
    }
    repositories {
        maven {
            allowInsecureProtocol=true
            //maven仓库的地址
            url = "http://maven.xxx.com/nexus/content/repositories/ydcx_release"
            //仓库的用户名及密码
            credentials {
                username '你的maven仓库用户名'
                password '你的maven仓库密码'
            }
        }
    }
}

//编译发布到maven
tasks.register('toeflplayer') {
    dependsOn tasks.clean
    dependsOn tasks.build
    dependsOn tasks.publish
    tasks.preBuild.mustRunAfter(tasks.clean)
    tasks.generatePomFileForReleasePublication.mustRunAfter(tasks.build)
}

3. 发布

执行如下命令

./gradlew toeflplayer