如何在root gradle.build文件中编程创建子标记



我有一个带有许多子模型的项目,因此看起来像这样的结构:

root
  otherfiles
  modules
    moduleA
       srcmainjava... 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'
}

,但贾格尔只是说找不到项目路径。

没关系...通过在Hibernate Gradle文件中戳戳,我发现如果我将其添加到root settings.gradle.gradle

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

然后,我可以参考root build.gradle.gradle 文件中的subproject定义:

project('common'){
    apply plugin: 'java'
    dependencies {
        ....
    }
}

最新更新