除了其他内容之外,我在gradle构建文件中还有以下内容
targetCompatibility = '1.8'
checkstyle {
toolVersion = '6.6'
}
task wrapper(type: Wrapper) {
gradleVersion = '2.4'
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
在我对gradle的有限理解中,所有4个部分都是插件的配置。但它们看起来非常不同。
除了不同的语法之外,4种变体之间的语义差异是什么?
我应该从文档中了解哪种风格?
答案 0 :(得分:1)
targetCompatibility = '1.8'
这是Java Plugin Convention Property,即允许您使用项目属性而不是仅使用任务属性设置其值的属性。这些属性通常在插件文档中列出。您可以阅读有关约定属性here的更多信息。
checkstyle {
toolVersion = '6.6'
}
此任务的类型是CheckstyleExtension,您可以在其DSL Documentation中找到其可用属性。
task wrapper(type: Wrapper) {
gradleVersion = '2.4'
}
在此定义Wrapper类型的任务实例。因此,任务wrapper
具有与其DSL定义的Wrapper任务类型相同的属性here。
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
此语法用于配置特定类型的所有任务。在这种情况下,您需要选择JavaCompile类型的所有任务并配置其options.encoding属性。