如何告诉Gradle在Continuous Integration模板系统中重用依赖项?

问题描述 投票:2回答:1

我们有一个项目模板,清理,没有编译它只需要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依赖项的确切目录路由?

谢谢

android gradle android-gradle build.gradle gradle-dependencies
1个回答
0
投票

可能你可以使用--offline与gradlew命令,你可能会使用它来在CI / CD上构建apk

这是详细信息。

Gradle在避免重新加载工件方面做得很好,但您可以将--offline传递给等级以防止在构建期间访问网络。如果它需要来自网络的东西,而不是尝试获取它,那么构建将失败。

© www.soinside.com 2019 - 2024. All rights reserved.