【问题标题】:How can I specify the latest commit version in Gradle如何在 Gradle 中指定最新的提交版本
【发布时间】:2015-08-14 09:26:28
【问题描述】:

我在我的 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 中完成吗?任何帮助将不胜感激。

【问题讨论】:

    标签: android git github gradle


    【解决方案1】:

    您不能直接从 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,但我还没有尝试过这个。这个插件的一个优点(?)是它克隆了本地机器上的存储库,并从那里将其添加为依赖项。

    【讨论】:

    • 由于某种原因,jitpack 中包含的哈希对我来说从来没有用过
    【解决方案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 版本为目标,这是给定的。

    【讨论】:

      猜你喜欢
      • 2015-03-10
      • 2017-03-30
      • 2016-07-02
      • 2015-03-19
      • 2015-03-07
      • 1970-01-01
      • 2021-12-28
      • 2017-11-06
      • 2015-08-18
      相关资源
      最近更新 更多