如何在gradle

时间:2015-05-27 18:14:03

标签: gradle syntax configuration

除了其他内容之外,我在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种变体之间的语义差异是什么?

我应该从文档中了解哪种风格?

1 个答案:

答案 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属性。