我想外化我的大型构建文件的通用部分,以便在项目之间共享它们。我认为最简单的选择是将Gradle代码放入新的构建文件并将它们存储在服务器上。然后我可以将它们包含在“apply from:”中。
这样做的缺点是,如果没有互联网连接,则构建失败。
你会如何解决这个问题?我可以让Gradle缓存在线构建脚本吗?
感谢您分享您对此问题的看法。
答案 0 :(得分:6)
我制作了一个插件,以便现在可以实现:https://github.com/kageiit/gradle-url-cache-plugin
答案 1 :(得分:1)
将在Gradle的未来版本中提供脚本插件的缓存。与此同时,如果您需要离线支持,最好的选择是编写二进制插件(实现org.gradle.api.Plugin
的类),将其打包为Jar,将其发布到存储库,并将其指定为{{1希望使用该插件的任何构建的classpath
部分中的依赖项。有关详细信息,请参阅Gradle用户指南中的Writing Custom Plugins章节。
答案 2 :(得分:0)
此版本的release notes表示HTTP(S)上的脚本插件现已缓存并可脱机使用。
更好地支持通过HTTP加载的脚本插件
脚本插件通过
apply from: 'URL'
语法应用于Gradle设置或项目。此版本中对http://和https:// URL的支持已得到改进:
- 缓存HTTP脚本插件以使用
--offline
。- 下载HTTP脚本插件,以表彰代理身份验证设置。