如何以编程方式在root gradle.build文件中创建子项目

时间:2017-02-17 08:41:59

标签: java gradle

我有一个包含许多子模块的项目,所以结构看起来像这样:

\root
  \otherfiles
  \modules
    \moduleA
       \src\main\java... etc
    \moduleB
build.gradle
settings.gradle

我想保留root build.gradle中的所有内容并在线定义项目。这似乎应该是可能的,但我无法找到合适的魔术咒语来实现它。

我在root build.gradle中试过这个(以及几个变体): -

repositories {
   ...
}

dependencies {
   ...
}

project('common') {        
   projectDir = new File(rootProject.projectDir, "modules/moduleA")
   apply plugin: 'java'
}

但是Gradle只是说项目路径无法找到。

1 个答案:

答案 0 :(得分:0)

没关系......通过在Hibernate gradle文件中浏览,我发现如果我将它添加到根 settings.gradle

include 'common'
project(':common').projectDir = new File(rootProject.projectDir, "modules/common")

然后我可以在root build.gradle 文件中引用子项目定义,如下所示:

project('common'){
    apply plugin: 'java'

    dependencies {
        ....
    }
}