当uniqueVersion = false时,gradle快照未在本地存储库中解析

时间:2016-07-22 11:27:53

标签: android maven gradle android-gradle

对于我的Android库,我使用“UploadArchives”任务来部署AAR:

uploadArchives {
repositories.mavenDeployer {
    configuration = configurations.deployLibrary
    pom.groupId = groupId
    pom.artifactId = artifactId
    pom.version = version
    uniqueVersion = false
    repository(url: "${RemoteReleaseDest}")
    snapshotRepository(url: 'file://' + "${localReleaseDest}") { }
}
}

其中“RemoteReleaseDest”是远程存储库,“localReleaseDest”指向我的本地maven存储库(C:/User/me/.m2.repository)。

这项工作非常适用于发行版ex:myaar:2.0.0(我也可以将“RemoteReleaseDest”设置为我的本地.m2存储库以强制在其上部署版本。

然后当我在我的android项目中配置依赖项时,如下所示:

compile 'mygroupId:myartefact:2.0.0'

正确解析了依赖关系(甚至来自我的本地存储库)。 但如果我尝试使用snaptshot:

compile 'mygroupId:myartefact:2.0.0-SNAPSHOT'

gradle无法解决依赖关系。在gradle日志中,我可以看到它正在我的.m2本地存储库中进行搜索。

但是,如果我使用参数

上传快照存档
uniqueVersion = true

gradle可以解决依赖关系!

这种情况下的问题是,每次启动任务“uploadArchives”时,我都会在本地SNAPSHOT目录下创建新的AAR,xml,md5等文件。

那么为什么gradle在使用参数uniqueVersion = false部署快照时无法解析快照依赖关系?如何管理此问题?

0 个答案:

没有答案