【问题标题】:Gradle intermediate dir of multiproject not subproject多项目而不是子项目的 Gradle 中间目录
【发布时间】:2014-01-10 00:07:08
【问题描述】:

在 RootProject 中,我有 build.grade 和 settings.gradle。 common,subProj1和subProj2是settings.gradle中的子项目

intermediateDir 不是子项目!它仅用于对 subProj1、subProj2 进行分组,因为它们是相关的。

每次我在根目录中运行“gradle eclipse”时,我都会在 middleDir 中获得 .classpath 和 .project 文件,因为这不是子项目,所以我不应该这样做!所以基本上intermediateDir 被认为是某些任务的子项目,即使不在settings.gradle 中。有什么快速的解决方法吗?

【问题讨论】:

    标签: java gradle multi-project


    【解决方案1】:

    你写settings.gradle的方式,中间目录一个子项目。这通常是可取的,因为它允许您一次轻松地配置和执行其子项目,即使中间项目本身没有任何文件或任务。

    要消除中间项目的不良行为,请确保不将该行为(例如apply plugin: "eclipse")应用于该项目(可能您现在将其应用于allprojects),或更改settings.gradle不创建中间项目。例如:

    include "common"   
    // name it any way you like, but not 
    // "intermediateDir:subProj1", i.e. no ":"
    include "subProj1" 
    include "subProj2"
    
    project(":subProj1").projectDir = file("intermediateDir/subProj1")
    project(":subProj2").projectDir = file("intermediateDir/subProj2")
    

    【讨论】:

    • 您是上帝。我知道会是你来回答,下次我会问名字,只是开玩笑,但是是的,不错的工具。不应用 eclipse 插件的选项可能有效,但我想在根 build.gradle 的“subprojects{...}”中应用常用插件。
    • 这确实应该包含在官方文档中。我知道包含中间目录更可取,但这是一个陷阱。非常感谢您!
    猜你喜欢
    • 1970-01-01
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多