3

Gradle 多项目结构

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

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

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

4

1 回答 1

8

你写的方式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")
于 2014-01-09T15:48:49.413 回答