我最终想要实现的是拥有一个顶级项目,可以克隆我的所有deps,并在必要时重建它们。虽然仍然允许他们在我的CI环境中自己构建。
我的项目结构如下所示
rpf/
is/
sec/
sec
依赖于is
,is
确实对我的其他一些库有一些代价,但是为了方便起见,目前他们还没有进入项目中进行快速开发(虽然我希望他们成为,但最终他们不应该经常改变,这就是我希望他们分开的原因。)
这是sec
dependencies {
implementation project(':is')
implementation 'com.xenoterracide:entity-api'
implementation 'com.xenoterracide:entity-jpa:0.1.0-SNAPSHOT'
我想要做的是,:is
引用implementation com.xenoterracide:is:0.1.0-SNAPSHOT
同时保留编译项目,这样如果我改变了,我就不必在我可以使用它之前安装dep。
使用gradle 4.3.1
更新
在我的rpf/settings.gradle
include 'is', 'sec'
includeBuild('sec') {
dependencySubstitution {
substitute module('com.xenoterracide.rpf:is') with project(':is')
}
}
但
org.gradle.api.GradleException: Included build 'sec' collides with subproject of the same name.
给出复合构建文档中的示例,我不确定哪个参数应该是哪个参数用于我的用例