Dak*_*ker 4 java command-line gradle gradlew build.gradle
我做了一些挖掘,但没有找到太多信息。
我最好的猜测是该build.gradle文件是默认文件,但我对行为和读取的文件感到好奇。
虽然另一个答案涵盖了所有构建的 99.99%,但它并不完整。
完整的命令是./gradlew [-b / --build-file <build.file>] [-c / --settings-file <settings.file>]. 当你运行它,这些规定<build.file>和<settings.file>将用于配置构建和它相应的设置。设置文件很特别:它Project在构建的早期阶段配置您的对象,并且它实际上可以覆盖它的构建文件。
以下是示例(对于已弃用的 抱歉<<,它仅用于缩短代码):
默认build.gradle,没有settings.gradle:
build.gradle:
task hello << { println "Hello" }
Run Code Online (Sandbox Code Playgroud)
结果:
$ ./gradlew hello
:hello
Hello
Run Code Online (Sandbox Code Playgroud)
自定义build.gradle,没有settings.gradle:
custom.gradle:
task hello << { println "Hi!" }
Run Code Online (Sandbox Code Playgroud)
结果:
$ ./gradlew -b custom.gradle hello
:hello
Hi!
Run Code Online (Sandbox Code Playgroud)
自定义build.gradle,配置在settings.gradle:
custom.gradle:
task hello << { println "Konnichi wa" }
Run Code Online (Sandbox Code Playgroud)
settings.gradle:
rootProject.buildFileName = 'custom.gradle'
Run Code Online (Sandbox Code Playgroud)
结果:
./gradlew hello # note that we don't need any flags here as with a default build
:hello
Konnichi wa
Run Code Online (Sandbox Code Playgroud)
自定义build.gradle,在 custom 中配置settings.gradle:
custom.gradle:
task hello << { println "Aloha!" }
Run Code Online (Sandbox Code Playgroud)
settings.custom:
rootProject.buildFileName = 'custom.gradle'
Run Code Online (Sandbox Code Playgroud)
结果:
./gradlew -c settings.custom hello # note how we pass custom settings file which, in turn, specifies custom `build.gradle`
:hello
Aloha!
Run Code Online (Sandbox Code Playgroud)
这很花哨而且不实用,但是您可以组合这些方法来存储,例如,您在一个单独的目录中构建的所有文件(覆盖buildFileName)。或者,您可以拥有多个类似“构建配置文件”的内容settings.gradle,具有不同的includes集(设置也用于将项目包含到您的构建中,因此您可以拥有“完整构建”、“ui”、“外部客户端”和很快)。
你的想象力是唯一的限制。
| 归档时间: |
|
| 查看次数: |
1852 次 |
| 最近记录: |