如何在Gradle中指定最新的提交版本

时间:2015-06-01 02:05:24

标签: android git github gradle

我在我的Android项目中使用Gradle,并且我在build.gradle文件中添加了一些依赖项。由于某些原因,我想指向我的一个依赖项的最新提交。例如:

dependencies {
    ...
    compile 'com.github.ozodrukh:CircularReveal:1.1.0@aar'

}

我将CircularReveal的版本指定为1.1.0 @ aar,我知道它目前已经修复了一些错误但尚未发布它。如何在Gradle中指定提交?我知道关于Cocoapods的一些基础知识,可以这样做:

pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :commit => '082f8319af'

可以在Gradle中完成吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:13)

您无法直接从Gradle执行此操作,但您可以使用Gradle插件和工具来实现此目的。

您可以使用外部工具Jitpack来执行此操作。您需要做的就是将Jitpack指定为存储库:

repositories {
    maven {
        url "https://jitpack.io"
    }
    // Define your other dependency repositories, if any
}

然后包括你的依赖:

dependencies {
    compile 'com.github.ozodrukh:CircularReveal:25aeca505d'
    // Include your other dependencies, if any
}

你也可以使用Layer中的gradle-git-repo-plugin,但我还没有尝试过这个。这个插件的一个优点是,它克隆了本地机器上的存储库,并将其作为依赖项从那里添加。

答案 1 :(得分:2)

Ugo response可能是正确的,这是某些特定情况的替代方案:

dependencies {
    ...
    compile 'com.github.ozodrukh:CircularReveal:1.1.+@aar' 
    // or 1.+ or even just +
}

这将使您获得最新版本,无论它是哪一个。现在,如果您在CI环境中构建存储库并将快照部署到Sonatype或类似服务,则可以执行

repositories {
    maven {
        url "https://project.sonatype.io"
    }
}

随着其他变化,您将最终进入-SNAPSHOT版本。此行为会报告构建时的警告,因为您的构建版本不可重现,但如果您要定位CI版本,那么这就是给定的。