2017-09-25 30 views
0

我有以下簡單的設置會自動包含父文件夾的子項目:爲什麼gradle產出增加一個子文件夾時,作爲子項目

文件結構

$ tree 
. 
├── build.gradle 
├── modules 
│   ├── rest-model 
│   └── rest-resource 
└── settings.gradle 

文件內容

設置。 gradle

def MODULES = 'modules' 

file(MODULES).eachDir { 
    include ":${MODULES}:${it.name}" 
} 

的build.gradle

task hello { 
    doLast { 
     subprojects.each { 
      println it.name 
     } 
    } 
} 

任務hello上面會打印出所有子項目。我期待只有兩個子項目:rest-modelrest-resource。但是,我得到三個:modules,rest-modulerest-resource。這裏是gradle輸出:

$ gradle hello 
Starting a Gradle Daemon (subsequent builds will be faster) 

> Task :hello 
modules 
rest-model 
rest-resource 


BUILD SUCCESSFUL in 2s 
1 actionable task: 1 executed 

那麼,爲什麼gradle會自動將父文件夾模塊作爲子項目?我可以預防嗎?

回答

1

使用includeFlat代替include

def MODULES = 'modules' 

file(MODULES).eachDir { 
    includeFlat ":${MODULES}:${it.name}" 
} 
相關問題