[英]Gradle - Multi projects - flat directory structure all at same level
Gradle多个独立的Java项目。 平面文件夹结构均处于同一级别。
我正在尝试创建像这样的多gradle Java项目。
我能够使其仅与以下配置一起使用。 我不确定这是否是达到上述要求的正确方法。
Child2-settings.gradle
include ':Child1'
project(':Child1').projectDir = new File(settingsDir, "../Child1");
Child2-build.gradle
dependencies {
compile project(':Child1')
}
父级-settings.gradle
include ':Child1', ':Child2'
project(':Child1').projectDir = new File(settingsDir, "../Child1");
project(':Child2').projectDir = new File(settingsDir, "../Child2");
注意:-我不知道为什么要在这里定义Child1的细节? 因为Parent只需要Child2依赖项。 如果我没有像上面那样配置,它将无法正常工作。
父-build.gradle
dependencies {
compile project(':Child2')
}
在多模块项目中,子项目的目录是父文件夹中的子文件夹。 这是按照惯例。 如果按照该约定对齐文件夹,则生成构建文件所需的信息较少。
下面是这个问题的一个例子。
myproject
|
|-- ear
|-- build.gradle
|-- ...
|-- core
|-- build.gradle
|-- ...
|-- web
|-- build.gradle
|-- include core project as dependency for this project
|-- ...
|-- settings.gradle // has include "ear", "core", "web"
由于您的结构不在此约定中,因此您需要明确说明子代的位置。 父项和child1之间的关系是直接的,这与依赖性库和该库可能具有的其他依赖性的关系不同。 如果child1只是child2的依赖项,而不是parent2的子项,那么您将不必指出chil1的文件夹。 但是这种情况是1)child1是父级的子级,而2)您未对多模块使用标准目录布局。 所以现在您必须告诉Gradle child1在父级的构建脚本中的位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.