是否有可能有一个远程 gradle.properties 文件

Posted

技术标签:

【中文标题】是否有可能有一个远程 gradle.properties 文件【英文标题】:Is it possible to have a remote gradle.properties file 【发布时间】:2020-03-17 21:03:49 【问题描述】:

我想要一个远程gradle.properties(住在某处的服务器上),我可以将其拉入我的build.gradle 并使用。

或者,如果有一个好方法来扩展 gradle,比如 gradle 的父 pom...我首先寻找这个方法,但没有找到任何好的/最新的结果...

这个想法是,如果我有很多项目都需要相同的版本,我可以使用一个文件来更新它们。这样我将不必手动拉取每个存储库编辑文件然后提交更改并推送...

如果有任何其他方法可以解决这个问题,我愿意接受任何好的做法。谢谢!

【问题讨论】:

为什么不能使用user-level ~/.gradle/gradle.properties 文件跨项目共享属性? @sschuberth 这将要求所有与任何项目合作的开发人员在他们的用户配置文件中设置此设置。每次需要更新版本时,所有开发人员都需要更新他们的开发环境。这样做会很痛苦,版本一直在变化。因此,拥有一个包含所有常见版本的文件将是理想的。一个文件统统统统☺ 【参考方案1】:

对于一般 Gradle 配置,您可以创建自定义插件并在内部或外部(Artifactory、Maven Central 等)发布。

https://docs.gradle.org/current/userguide/custom_plugins.html https://docs.gradle.org/current/userguide/init_scripts.html#sec:init_script_plugins

为了维护一致的依赖版本(Maven 依赖管理 BOM 类),您需要创建/发布一个平台:

文档:https://docs.gradle.org/current/userguide/java_platform_plugin.html JUnit 示例:https://github.com/junit-team/junit5/blob/master/junit-bom/junit-bom.gradle.kts 已发布 BOM:https://repo1.maven.org/maven2/org/junit/junit-bom/5.5.2/junit-bom-5.5.2.pom

【讨论】:

【参考方案2】:

一个可行的解决方案是在 Project.beforeEvaluate()Project.configurations() 中通过 http 获取配置文件,并使用其内容填充项目配置。虽然文件名不一定是 gradle.properties。

【讨论】:

以上是关于是否有可能有一个远程 gradle.properties 文件的主要内容,如果未能解决你的问题,请参考以下文章

pycharm远程连接超时

OpenGL和远程桌面

如何检查远程文件是不是存在于代理后面

Mac机无法远程连接

远程连接redis报错:Connection refused

AVPlayer 永远无法播放