2012-09-03 124 views
4

我們在根項目中有一個settings.gradle和沒有build.gradle的多項目。Gradle多重項目,更改默認生成文件名(build.gradle)

gradle的默認行爲是查找頂部目錄中的settings.gradle文件並讀取之前定義的每個項目的build.gradle。

我的問題是:根據多項目已簽出的環境,我想在從根項目運行構建時運行默認的「build2.gradle」而不是「build.gradle」。

什麼是最好的辦法呢?

感謝

回答

2

OK,完成了...

在settings.gradle:

String myFileName="build2.gradle" 

rootProject.buildFileName = "${myFileName}" 
rootProject.children.each {project -> 
    project.buildFileName = "${myFileName}" 
    assert project.projectDir.isDirectory() 
    assert project.buildFile.isFile() 
} 
3

或者嵌套多項目在settings.gradle

setBuildFileName(rootProject) 

def setBuildFileName(project) { 
    project.children.each { childProject -> 
    childProject.buildFileName = "${childProject.name}.gradle" 
    assert childProject.projectDir.isDirectory() 
    assert childProject.buildFile.isFile() 
    setBuildFileName(childProject) 
    } 
} 
+0

我覺得這是非常有用的。閱讀用戶指南,我認爲這將從Gradle開箱即用,但事實並非如此。如果我錯了,請糾正我。 https://docs.gradle.org/current/userguide/intro_multi_project_builds.html 8.1 – Kilokahn

相關問題