在不同项目之间共享配置的最佳方式是什么?

fed*_*lov 6 gradle build.gradle

我们有 3-5 个不同的项目。我不想每次都将配置的某些部分从一个项目复制/粘贴到另一个项目(例如添加通用 Maven 存储库)。在不同项目之间共享通用配置的最佳方式是什么?

我使用了apply from: "http://path/to/common.build.gradle"构造,但我们的架构师认为这不是最佳解决方案,因为项目构建依赖于存储common.build.gradle. 如果您没有连接到此服务器,则无法构建项目。你怎么看待这件事?

Pet*_*ser 5

在构建之间共享配置的最可靠方法是将其编码为插件类(即实现org.gradle.api.Plugin接口的类),将其作为 Jar 发布到 Maven 或 Ivy 存储库,并使用buildscript块将其拉入消费构建。这将确保插件 Jar 像任何其他工件依赖项一样被缓存。Gradle 用户指南中解释了如何解决这个问题。