代码之家  ›  专栏  ›  技术社区  ›  Hollerweger

具有独立梯度子项目的IntelliJ梯度集成问题

  •  0
  • Hollerweger  · 技术社区  · 6 年前

    我有两个独立的gradle项目,我也想从一个主要的gradle项目中构建:

    main-project
      build.gradle
      settings.gradle
    
      --subproject-one
          build.gradle
          settings.gradle
    
          --module-a
               build.gradle
    
      --subproject-two
          build.gradle
          settings.gradle
    
          --module-b
              build.gradle
    

    My top settings.gradle包含子项目中的所有模块:

    file('subproject-one').eachDir { dir ->
      if(dir.list().contains("build.gradle")) {
        include dir.name
        project(":${dir.name}").projectDir = dir
      }
    }
    file('subproject-two').eachDir { dir ->
      if(dir.list().contains("build.gradle")) {
        include dir.name
        project(":${dir.name}").projectDir = dir
      }
    }
    

    现在我有了一个 模块b 在里面 子项目二 子项目一

    if(useProjectDependencies){
        compile project(':module-b')
    } else {
        //Client dependencies
        compile "my.group.id:module-b
    }
    

    通过gradle,我现在可以构建主项目,包括子项目,也可以自己构建每个子项目。

    当我现在通过IntelliJ打开主项目时,我看到所有模块都被正确识别,而且模块之间对类的交叉引用也正常工作(重构组件之间的接口工作得很好)。

    当我现在尝试使用Intellij的gradle集成并单击assemble 模块b 然后它 形式和 设置.gradle 不使用项目依赖项。看起来IntelliJ或gradle守护进程从 模块b 而不是用

    当我从 文件夹所有工作正常:

    gradlew :module-b:assemble //correct *settings.gradle* and *build.gradle* is used
    

    当我删除 构建.gradle 子项目二 主体工程 正确使用。

    有没有办法说明 构建.gradle

    0 回复  |  直到 6 年前