我们有一个项目模板,经过清理,无需编译,只需要 5mb 的磁盘空间。在我们的持续集成系统上,为我们的每个项目复制模板,然后通过脚本更改模板,该脚本使用每个项目的代码和项目属性差异准备模板。一旦准备好,它就会被编译。
我们所有的项目都具有相同的依赖项。每次复制模板并准备成为不同的项目时,都会再次下载相同的依赖项。今天,我们遇到了一个非常罕见和危险的问题。由于 Gradle 无法下载依赖项,我们所有的编译都开始失败:
> Could not resolve com.github.mobfox:MobFox-Android-SDK-Core:3.2.4.
> Could not get resource 'https://jitpack.io/com/github/mobfox/MobFox-Android-SDK-Core/3.2.4/MobFox-Android-SDK-Core-3.2.4.pom'.
> Could not GET 'https://jitpack.io/com/github/mobfox/MobFox-Android-SDK-Core/3.2.4/MobFox-Android-SDK-Core-3.2.4.pom'.
> Read timed out
因此,我需要知道如何才能最终实现 Gradle 只下载一次所有依赖项,而不是每次我复制模板并准备将其作为另一个项目时。当我将模板复制到一个新文件夹并重命名应用程序和其他一些项目时,Gradle 正在 Gradle 缓存目录上为其创建一个新的缓存文件夹。有没有办法告诉 Gradle 每次编译应用程序时应该存储和搜索 Gradle 依赖项的确切目录路径?