我在我的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中完成吗?任何帮助将不胜感激。
答案 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版本,那么这就是给定的。