我有不同的组件(比如说comp1..compN),其中一些依赖于
其他。我想构建使用这些的不同应用程序(app1..appN)
组件。在这种情况下,设置gradle项目的好方法是什么?
目前,我有一个扁平结构,例如:
dir
app1
app2
appN
comp1
comp2
comp3
compN
假设app1使用comp1和2。我在app1的settings.gradle中为comp1和2添加了“includeFlat”。从comp2开始
取决于comp1,我将此依赖项添加到comp2的build.gradle中。
现在我
能够构建app1。不幸的是我无法从中构建comp2
目录comp2,因为它无法解析对comp1的依赖关系(但我可以
使用
gradle :comp2:build
从目录app1进行构建。(我应该为comp2使用多项目构建:为comp1添加includeFlat到
的comp2 settings.gradle?我不确定这是要走的路。
有没有更好的方法来进行设置?
最佳答案
这是常规的多项目构建。只需在根目录中创建一个settings.gradle
文件,并包含(而不是includeFlat
)每个项目,无论它是应用程序项目还是组件项目。然后在相应的build.gradle
文件中定义项目之间的依赖关系。
在命令行中从哪个目录调用gradle
都没有关系。如果您只想构建一个项目(例如gradle :app1:build
),则只需使用任务路径。一旦开始使用推荐的Gradle包装器(gradlew
),无论如何都需要从根目录中调用它。
关于gradle - Gradle:构建使用相同组件的多个应用程序(多项目构建),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57375006/