在包装程序任务中使用gradle版本是否消除了使用gradlew的需要?
wrapper {
gradleVersion = '4.10.2'
}
task foo {
println "...bar"
}
包装程序似乎是作为“配置项目”阶段的一部分自动执行的,如果是的话,似乎是管理此问题的“更干净”的方式(即,要处理的文件更少,嵌入到实际的gradle构建中)脚本等)。
Gradle的新手,只是想弄清楚...
添加...
我添加了“ foo”任务来阐明我的困惑点。
1-我正在使用“ gradle foo”执行脚本
2-在此过程中,我注意到“包装器”任务会自动调用
我的困惑点在于,似乎包括包装器条目将强制使用正确版本的Gradle(即为什么还要自动调用包装器任务)。经过检查,似乎将版本包含在包装器任务中是将版本获取到Gradle的属性文件中的另一种方法(建议在生成包装器时在命令行上提供该版本)。
实时学习,感谢您解决这个问题。
答案 0 :(得分:0)
我正在使用“ gradle foo” 2执行脚本-在此过程中,我注意到“ wrapper”任务会自动调用
不,不是。如果是这样,那么以下脚本将显示“ hello”:
wrapper {
gradleVersion = '4.10.2'
doLast {
println 'hello'
}
}
task foo {
println "...bar"
}
您看到的是包装器任务的配置,如果您执行gradle wrapper
,则将调用包装器任务,并将在项目中为gradle的4.10.2版本安装(或升级)包装器。< / p>
不再需要此任务配置。如the documentation中所述,您可以调用包装器任务并直接在命令行上使用gradle wrapper --gradle-version 4.10.2
指定版本。
请注意,在脚本中,行println "...bar"
是在任务foo被配置时执行的,而不是在被执行时执行的。无论执行什么操作,您都将始终在控制台中看到bar...
印刷。