gpt4 book ai didi

gradle - 在build.gradle中使用自定义Gradle插件的多种方法

转载 作者:行者123 更新时间:2023-12-03 04:39:57 26 4
gpt4 key购买 nike

引用Gradle docs section 59.2,我创建了一个简单的插件,以说明使用通过插件扩展公开的自定义Gradle插件的DSL的各种(看似有效的)方法。例如以下插件定义和类

class GreetingPlugin implements Plugin<Project> {
void apply(Project project) {
// Add the 'greeting' extension object
project.extensions.create("greeting", GreetingPluginExtension)
// Add a task that uses the configuration
project.task('hello') << {
println project.greeting.message
}
}
}

class GreetingPluginExtension {
def String message = 'Hello from GreetingPlugin'
}

可以通过四种方式调用
  • greeting.message 'Hi from Gradle with dot'
  • greeting.message = 'Hi from Gradle with dot and assigment'
  • greeting { message 'Hi from Gradle with block' }
  • greeting { message = 'Hi from Gradle with block with assignment' }

  • 正确和推荐的方法是什么?使用一种方法比另一种方法有含义吗?在那个简单的例子中,它们似乎都起作用

    最佳答案

    正如Opal所说,这四种方式都是好的,这取决于您对可读性的要求。如果要配置的内容不仅仅是消息,那么使用闭包的配置块可能更方便。

    使用赋值运算符与省略赋值符之间还有一个区别:使用赋值运算符时,您将显式设置属性,而忽略赋值则意味着使用该名称调用方法。在这种情况下,我更喜欢使用赋值运算符。

    您可以在这里看看:http://groovy-lang.org/style-guide.html#_getters_and_setters

    关于gradle - 在build.gradle中使用自定义Gradle插件的多种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29529400/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com