我做了一些挖掘,但没有找到太多信息。
我最好的猜测是build.gradle
文件是默认文件,但我对行为和阅读的文件感到好奇。
答案 0 :(得分:4)
虽然另一个答案涵盖了99.99%的所有构建,但它并不完整。
完整命令为./gradlew [-b / --build-file <build.file>] [-c / --settings-file <settings.file>]
。当您运行时,指定的<build.file>
和<settings.file>
将用于相应地配置构建及其设置。设置文件很特别:它会在您构建的最初阶段配置您的Project
个对象,它实际上可以override它的构建文件。
以下是示例(抱歉弃用<<
,它仅用于缩短代码):
默认build.gradle
,无settings.gradle
:
build.gradle
:
task hello << { println "Hello" }
结果:
$ ./gradlew hello
:hello
Hello
自定义build.gradle
,无settings.gradle
:
custom.gradle
:
task hello << { println "Hi!" }
结果:
$ ./gradlew -b custom.gradle hello
:hello
Hi!
自定义build.gradle
,已在settings.gradle
中配置:
custom.gradle
:
task hello << { println "Konnichi wa" }
settings.gradle
:
rootProject.buildFileName = 'custom.gradle'
结果:
./gradlew hello # note that we don't need any flags here as with a default build
:hello
Konnichi wa
自定义build.gradle
,已在自定义settings.gradle
中配置:
custom.gradle
:
task hello << { println "Aloha!" }
settings.custom
:
rootProject.buildFileName = 'custom.gradle'
结果:
./gradlew -c settings.custom hello # note how we pass custom settings file which, in turn, specifies custom `build.gradle`
:hello
Aloha!
这一切都很花哨而且不实用,但是你可以将这些方法结合起来存储,例如,你在一个单独的目录中构建文件(覆盖buildFileName
)。或者你可以拥有像#34; build profiles&#34;使用多个settings.gradle
,具有不同的include
个设置(设置也用于将项目包含到您构建中,因此您可以使用&#34;完整版本&#34;,&#34; ui&#34;,&#34;外部客户&#34;等等。)
唯一的限制是你的想象力。
答案 1 :(得分:3)
在这种情况下,build.gradle
将在您运行gradlew
的同一目录下读取。其他可能也被读取的文件是settings.gradle
,但不能在那里声明任务。
要运行不同的gradle脚本,请使用-b
开关并将路径传递给脚本。
另外,为什么你认为可能会读取任何其他文件?