首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为离线开发构建Gradle存储库

为离线开发构建Gradle存储库
EN

Stack Overflow用户
提问于 2015-02-11 00:16:50
回答 2查看 23.1K关注 0票数 19

我正在为一个软件实现Gradle构建系统,该软件的某些部分是在没有Internet连接或无法安装Maven/Ivy服务器(如Nexus)的区域开发的。为了支持这些环境中的开发,我正在组装一个Gradle插件,它允许生成一个“离线工作区”。

我最初实现此功能的方式是触发项目中每个配置的解析(触发所有依赖项的下载),然后遍历每个配置的整个依赖项树,并将依赖项的本地缓存副本复制到脱机工作区中。(为每个复制操作生成一个复制任务。)然后将使用flatDir存储库引用这些JAR。

此实现使用afterEvaluate块执行其任务。虽然这在Gradle2.0中运行良好,但它在Gradle2.2.1中触发了一个弃用警告,因为触发解析在某种程度上被视为在配置已经解析后修改它(Attempting to change configuration ':core:runtime' after it has been included in dependency resolution. This behaviour has been deprecated and is scheduled to be removed in Gradle 3.0)。总而言之,这种方法感觉相当粗糙,因为它还需要我修改build.gradle文件以显式地列出所有可传递的依赖项,因为没有可用的POM文件来正确地指定依赖项。

一种更优雅的方法似乎是构建一个包含所有依赖项(包括POM文件、源JARs、javadoc JARs等)的本地Maven库,然后只使用mavenLocal()库类型。不幸的是,在不需要触发工件解析来执行此操作的情况下,我不确定如何正确执行此操作。

除了压缩整个$USER_HOME/.gradle目录之外,还有什么更好的方法可以将完整的工件下载到易于打包的方式中吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28436473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档