【问题标题】:How to uploadArchives with multiple repositories using parameters in Gradle?如何使用 Gradle 中的参数上传具有多个存储库的存档?
【发布时间】:2018-02-18 02:26:08
【问题描述】:

在我的 gradle 项目中,我想将我的 jar 上传到多个 maven 存储库,所以我执行以下操作:

uploadArchives {
    repositories {
        mavenLocal()
        mavenDeployer {
            repository(url: maven_repo_1) {
                authentication(userName: maven_user_1, password: maven_password_1)
            }
            repository(url: maven_repo_2) {
                authentication(userName: maven_user_2, password: maven_password_2)
            }
        }
    }
}

我的问题是:

  1. 这是一次上传到多个 maven 存储库的正确方法吗?
  2. 有没有办法使用参数上传到特定的 Maven 存储库?即uploadArchives -r mavenLocal

注意: 以前我必须删除 maven 存储库并运行 uploadArchives,我认为这不是最佳做法。但是我没有找到使用参数上传它的文档。

【问题讨论】:

    标签: java android maven gradle build.gradle


    【解决方案1】:

    您可以做的是使用project property 来选择正确的配置。

    例如,如果您想默认部署到远程存储库,但带有切换到本地存储库的参数:

    uploadArchives {
        repositories {
            if (project.hasProperty('localRepoPath')) {
                mavenDeployer {
                    repository(url: uri(project.getProperty('localRepoPath')))
                    ...
                }
            } else {
                mavenDeployer {
                    repository(url: maven_repo_1)
                    ...
                }
            }
        }
    }
    

    然后,调用:

    # Local upload
    ./gradlew uploadArchives -PlocalRepoPath=/tmp/maven
    
    # Public upload
    ./gradlew uploadArchives
    

    您可以根据自己的需要调整这种方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2013-01-24
      • 2016-10-29
      • 1970-01-01
      • 2021-11-24
      相关资源
      最近更新 更多