我的build.gradle中包含以下内容:

uploadArchives {
  repositories {
    mavenDeployer {
      configuration = configurations.deployerJars
      String keyFile = "/Users/myusername/.ssh/maven@myhost"

      repository(url: "scp://myhost.com/var/maven/repository") {
        authentication(userName: "maven", privateKey: keyFile)
      }
    }
  }
}

需要注意的是,这非常有效-仅上传发行版本。我知道可以指定snapshotRepository使其上传快照,但是我真正想要的是知道如何调用此行为。我希望快照与发布版本建立相同的存储库(我认为这是默认行为),但是当我这样做时:
./gradlew uploadArchives./gradlew assembleDebug uploadArchives
它首先构建release buildType,然后上传。如何告诉uploadArchives我要它上传快照版本(即调试)?

最佳答案

我花了一些时间来寻找解决方案,因此将其留给其他人使用:

您可以根据uploadArchives任务创建一个新任务,但检查版本并删除该任务的dependsOndisable(如果不是快照),例如:

task uploadSnapshotArchives(dependsOn: uploadArchives) {
    if (!version.endsWith("-SNAPSHOT")) {
        enabled = false;
        dependsOn = [];
    }
}

关于maven - 如何告诉gradle在SNAPSHOT版本上执行uploadArchives?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26314965/

10-11 15:02