如何在gradle中配置插件属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在gradle中配置插件属性相关的知识,希望对你有一定的参考价值。

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

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

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

以上是关于如何在gradle中配置插件属性的主要内容,如果未能解决你的问题,请参考以下文章

Android Gradle 插件Gradle 自定义 Plugin 插件 ④ ( 为自定义 Gradle 插件的扩展配置扩展 | 在自定义插件中获取扩展属性 )

Android Gradle 插件Gradle 扩展属性 ③ ( 为任意对象设置扩展属性 | 扩展属性定义方式 )

Android Gradle 插件Gradle 扩展属性 ③ ( 为任意对象设置扩展属性 | 扩展属性定义方式 )

Android Gradle 插件DexOptions 配置 ⑧ ( preDexLibraries 属性配置 | threadCount 属性配置 )

Android Gradle 插件DexOptions 配置 ⑦ ( keepRuntimeAnnotatedClasses 属性配置 | maxProcessCount 属性配置 )

Android Gradle 插件DexOptions 配置 ⑥ ( javaMaxHeapSize 属性配置 | jumboMode 属性配置 )