6

ルートプロジェクトにsettings.gradleがあり、build.gradleがないマルチプロジェクトがあります。

gradleのデフォルトの動作は、一番上のディレクトリでsettings.gradleファイルを検索し、以前に定義されたすべてのプロジェクトのbuild.gradleを読み取ることです。

私の問題は、マルチプロジェクトがチェックアウトされている環境によっては、ルートプロジェクトからビルドを実行するときに、「build.gradle」ではなくデフォルトの「build2.gradle」として実行したいということです。

それを行うための最良の方法は何ですか?

ありがとう

4

2 に答える 2

3

わかりました、完了しました...

settings.gradle:

String myFileName = "build2.gradle"

rootProject.buildFileName = myFileName
rootProject.children.each { project ->
    project.buildFileName = myFileName
    assert project.projectDir.isDirectory()
    assert project.buildFile.isFile()
}
于 2012-09-03T12:39:53.747 に答える
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)
  }
}
于 2013-04-09T13:52:31.847 に答える