Gradle上传多个仓库

有时候我们需要将library上传到多个Maven仓库,这种情况下uploadArchives任务就不能满足需求了。可以通过如下自定义Upload任务的方式解决:

ext{
    GROUP = ''
    VERSION_NAME = '0'
}

task uploadMaven1(type: Upload) {
    configuration = configurations.archives
    repositories {
        mavenDeployer {
            repository(url: '') {
                authentication(userName: "", password: "")
            }
            snapshotRepository(url: '') {
                authentication(userName: "", password: "")
            }
            pom.groupId = GROUP
            pom.artifactId = project.name
            pom.version = VERSION_NAME
            pom.whenConfigured { pom ->
                pom.dependencies.each { dep ->
                    if (dep.getVersion() == "unspecified") {
                        dep.setGroupId(GROUP)
                        dep.setVersion(VERSION_NAME)
                    }
                }
            }
            println("${project} : ${pom.version} package success")
        }
    }
}
task uploadMaven2(type: Upload) {
    configuration = configurations.archives
    repositories {
        mavenDeployer {
            repository(url: '') {
                authentication(userName: "", password: "")
            }
            snapshotRepository(url: '') {
                authentication(userName: "", password: "")
            }
            pom.groupId = GROUP
            pom.artifactId = project.name
            pom.version = VERSION_NAME
            pom.whenConfigured { pom ->
                pom.dependencies.each { dep ->
                    if (dep.getVersion() == "unspecified") {
                        dep.setGroupId(GROUP)
                        dep.setVersion(VERSION_NAME)
                    }
                }
            }
            println("${project} : ${pom.version} package success")
        }
    }
}

task uploadMaven {
    dependsOn(uploadMaven1, uploadMaven2)
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容