问题
我有两个项目,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发布到我的nexus repo和resync项目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
用于发布与调试?我可以提交我的更改并覆盖构建服务器上的文件,但我想知道是否还有其他方法?
您可以使用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