嵌套gradle构建

时间:2015-11-29 16:01:02

标签: gradle

我有三个项目A,B和C. A取决于B,B取决于C.我目前有以下设置:

  projectA/
  |__settings.gradle
  |__build.gradle
  |__projectB/
     |__build.gradle
     |__projectC
        |__build.gradle

构建失败,并显示错误消息:

Build file '/path/to/projectA/projectB/build.gradle' line: 5

* What went wrong:
A problem occurred evaluating project ':projectB'.
> Project with path ':projectC' could not be found in project ':projectB'.
...

有没有办法让gradle使用这个文件夹结构?

settings.gradle的内容:

include 'projectB'

projectA / build.gradle的内容:

apply plugin: 'java'
apply plugin: 'application'
mainClassName = 'hello.projectA'

dependencies {
    compile project(':projectB')
}

projectB / build.gradle的内容:

apply plugin: 'java'

dependencies {
    compile project(':projectC')
}

projectC / build.gradle的内容:

apply plugin: 'java'

1 个答案:

答案 0 :(得分:2)

因为要使用项目依赖项,所有项目必须在一个settings.gradle文件中作为同一个全局项目的成员声明,​​您的projectC也必须包含在根项目中,方法是声明它settings.gradle的{​​{1}},但作为projectA的子项目,如:

projectB

并且,现在不太确定,可能是这样,因为它必须在include 'projectB', 'projectB:projectC' 依赖项中声明为projectB