Gradle编码约定:在Gradle任务中设置属性的约定

vd8tlhqk  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(150)

假设我正在创建一个任务,它的属性有一个约定:

abstract class MyTask : DefaultTask() {
    @get:Internal
    abstract val myProperty: Property<String>
    
    init {
        myProperty.convention("foobar")
    }
}

IDE会在init块中标记myProperty的使用,因为myProperty是非final的。这对于Gradle目的是否可以接受,如果不能,避免编译器警告的首选方法是什么?(可以在不显式注入ObjectFactory的情况下完成吗?)

l7mqbcuq

l7mqbcuq1#

这是做这件事的正确方法。虽然编译器警告在其他情况下可能有用,但在这里它只是噪音,因为在这种情况下它实际上是需要的行为。我建议@Suppress它为Gradle装饰对象。

相关问题