如何在不同环境下使用不同的settings.gradle文件

时间:2019-03-15 16:00:15

标签: android gradle build.gradle

问题

我有两个项目, A (ui)和 B (后台服务)。项目 A 依赖于 B 。项目 B 被发布到Maven存储库中,并包含在项目 A 中,就像在build.gradle

中一样
debugImplementation ('com.example:project-B:0.0.0-SNAPSHOT') { changing = true }
releaseImplementation ('com.example:project-B:1.6.2')

这可行,但是要在UI端验证我的服务更改很痛苦。我需要将项目 B 发布到我的联系仓库,然后重新同步项目 A

我将项目 A 更改为以下内容:

build.gradle:

debugImplementation project(":project-b")

settings.gradle:

include ':project-a'
include 'project-b'
project(':project-b').projectDir = new File(settingsDir, "${project-b-path}")

我可以将所有代码都放在一个IDE窗口中,并且让 A 使用 B 的本地实例。但是问题在于,由于没有本地 B 项目,只有一个位于Nexus上,因此这将在我的构建服务器上中断。

是否可以配置settings.gradle进行发布还是调试?我可以提交更改并覆盖构建服务器上的文件,但是我想知道是否还有其他方法?

1 个答案:

答案 0 :(得分:0)

您可以使用gradle命令行设置应使用的设置或构建文件。

设置文件

-c, --settings-file
Specifies the settings file. For example: gradle --settings-file=somewhere/else/settings.gradle

构建文件

-b, --build-file
Specifies the build file. For example: gradle --build-file=foo.gradle. The default is build.gradle, then build.gradle.kts, then myProjectName.gradle.

您可以在此处找到更多详细信息:Gradle docs: Environment options