如何在gradle中配置插件属性

问题描述 投票:1回答:1

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

我怎么能从文档中理解使用哪种风格?

gradle syntax configuration
1个回答
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具有与Wrapper任务类型相同的属性,其DSL定义为here


tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

此语法用于配置特定类型的所有任务。在这种情况下,您将选择JavaCompile类型的所有任务并配置其options.encoding属性。

© www.soinside.com 2019 - 2024. All rights reserved.