在包装器任务中使用gradle版本是否消除了使用gradlew的需要?
wrapper {
gradleVersion = '4.10.2'
}
task foo {
println "...bar"
}
包装器似乎是作为“配置项目”阶段的一部分自动执行的,如果是这样的话,似乎是一种“更干净”的方式来管理它(即,处理更少的文件,嵌入到实际的gradle构建脚本中,等等)。
刚接触Gradle,只是想弄清楚...
添加...
我添加了"foo“任务来澄清我的困惑。
1-我正在使用"gradle foo“执行脚本
2--在这个过程中,我注意到"wrapper“任务被自动调用
我的困惑是,包含包装器条目似乎会强制使用正确版本的Gradle (即,为什么包装器任务会被自动调用)。经过检查,将版本包含在包装器任务中似乎是将版本放入Gradle的属性文件的另一种方式(在生成包装器时在命令行上提供它)。
实战学习,感谢您回答这个问题。
发布于 2018-11-09 05:25:35
我正在使用"gradle foo“2执行脚本-在这个过程中,我注意到"wrapper”任务被自动调用
不,不是的。如果是,则以下脚本将打印"hello":
wrapper {
gradleVersion = '4.10.2'
doLast {
println 'hello'
}
}
task foo {
println "...bar"
}
您在那里看到的是包装器任务的配置,如果执行gradle wrapper
,就会调用该任务,并将在项目中安装(或升级) gradle版本4.10.2的包装器。
不再需要此任务配置。正如the documentation中所指出的,您可以调用包装器任务,并使用gradle wrapper --gradle-version 4.10.2
在命令行上直接指定版本。
请注意,在您的脚本中,当任务foo是配置的时,将执行println "...bar"
行,而不是当它的执行时。无论执行什么操作,您都会在控制台中看到打印的bar...
。
https://stackoverflow.com/questions/53212215
复制相似问题