假设我正在创建一个任务,它的属性有一个约定:
abstract class MyTask : DefaultTask() {
@get:Internal
abstract val myProperty: Property<String>
init {
myProperty.convention("foobar")
}
}
IDE会在init块中标记myProperty
的使用,因为myProperty
是非final的。这对于Gradle目的是否可以接受,如果不能,避免编译器警告的首选方法是什么?(可以在不显式注入ObjectFactory
的情况下完成吗?)
1条答案
按热度按时间l7mqbcuq1#
这是做这件事的正确方法。虽然编译器警告在其他情况下可能有用,但在这里它只是噪音,因为在这种情况下它实际上是需要的行为。我建议
@Suppress
它为Gradle装饰对象。